类与对象
- 类(
class
): 用来描述具有相同的属性和方法的对象的集合。它定义了集合中每个对象所共有的属性和方法。
- 对象(
object
):也称为类的实例,是一个具体存在的实体。
类的定义
# 类的声明
class Human(object):
"""人类"""
# 定义属性(类属性)
message = "这是类属性"
# 通过类访问类属性
print(Human.message) #这是类属性
类的方法
构造方法与实例化
- 作用:实例化对象
- 语法:
def __init__(self, 参数列表)
- 访问:
类名(参数列表)
class Human:
# 定义属性(类属性)
message = "这是类属性"
# 构造方法
def __init__(self, name, age):
# 实例变量
self.name = name
self.age = age
print("这是构造方法")
# 实例化对象
person = Human("哈利波特", 12)
# 通过实例访问类属性
print(person.message) #这是类属性
# 通过实例访问实例属性
print(person.name) #哈利波特
print(person.age) #12
实例方法
- 作用:提供每个类的实例共享的方法
- 语法:
def 方法名(self, 参数列表)
- 访问:
实例.方法名(参数列表)
class Human:
# 实例方法
def study(self, course):
print(f"正在学习{course}")
# 实例化
person = Human()
# 通过实例访问实例方法
person.study("python") #正在学习python
类方法
- 作用:可以操作类的详细信息
- 语法:
@classmethod
- 访问:
类名.类方法名(参数列表)
class Human:
# 类属性
population = 0
# 类方法
@classmethod
def born(cls):
print("这是类方法")
cls.population += 1
# 通过类名访问类方法
Human.born()
print(Human.population) #打印1
静态方法
class Human:
# 静态方法
@staticmethod
def grow_up():
print("这是静态方法")
# 通过类名访问静态方法
Human.grow_up() #这是静态方法