- 类(class):有相同属性和方法的对象的集合,定义了集合中每个对象所共有的属性和方法
- 对象(objec):类的实例,是一个具体存在的实体
# 语法
class 类名(父类名1):
"""类的帮助信息"""
属性
方法
-
实例方法:通常用来定义类的行为和功能实现
-
构造方法:通常用来进行实例化操作,创建类的实例,需要用到类的构造方法
- 作用:实例化对象(用于构造并直接返回该类的对象,每当创建一个类的新的实例时,python都会自动执行它,是创建对象的基本途径,如开发者没有定义,python默认添加一个)
- 语法:def
__init__
(self, 参数列表)(self指向实例本身的引用,用于访问类的属性和方法)
- 访问:类名(参数列表)
# constructor_method.py
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)
-
实例方法:类中定义的函数
- 作用:提供每个类的实例共享的方法
- 语法:def 方法名(self, 参数列表)
- 访问:实例.方法名(参数列表)
# instance_method.py
class Human:
# 实例方法
def study(self, course):
print(f"正在学习{course}")
# 实例化
person = Human()
# 通过实例访问实例方法
person.study("python")
-
类方法:
- 作用:可以操作类的详细信息(设置或者获取类的详细信息或装态)
- 语法:@classmethod
- 访问:类名.类方法名(参数列表)
# class_method.py
class Human:
# 类属性
population = 0
# 类方法
@classmethod
def born(cls):
print("这是类方法")
cls.population += 1
# 通过类名访问类方法
Human.born()
print(Human.population)
- 静态方法:
- 作用:创建通用的工具函数,使用时候不需要实例化对象,不能访问类的数据,独立工作
- 语法:@staticmethod
- 类名.静态方法名()
static_method.py
class Human:
# 静态方法
@staticmethod
def grow_up():
print("这是静态方法")
# 通过类名访问静态方法
Human.grow_up()