类的定义与创建:
使用class
关键字来定义一个类。
类名通常使用大写字母开头的驼峰式命名。
类可以包含属性(变量)和方法(函数)
构造函数——init——:
__init__
方法是一个特殊的方法,用于在创建类的新实例时初始化对象。
它接受self
作为第一个参数,代表类的一个实例。
实例变量:
实例变量是存储在每个实例中的变量,它们通过self
引用。
实例变量仅在类的实例中存在。
类变量:
类变量属于整个类,而不是类的任何特定实例。
类变量通过cls
引用,而不是self
。
方法:
类的方法定义了类的行为。
除了__init__
,其他方法可以有任意名称。
继承:
继承允许一个类继承另一个类的属性和方法。
使用class DerivedClass(BaseClass)
来创建继承关系。
class BaseClass:
# 类变量
class_variable = "I am a class variable"
def __init__(self, value):
# 实例变量
self.instance_variable = value
# 类的方法
def class_method(self):
print(f"Class method, instance_variable: {self.instance_variable}, class_variable: {self.class_variable}")
# 实例方法
def instance_method(self):
print(f"Instance method, instance_variable: {self.instance_variable}")
# 定义一个继承自BaseClass的子类
class DerivedClass(BaseClass):
def __init__(self, value, additional_value):
# 调父类的构造函数
super().__init__(value)
# 添加子类的实例变量
self.additional_variable = additional_value
# 子类的方法
def derived_method(self):
print(f"Derived class method, additional_variable: {self.additional_variable}")
# 创建父类的实例
base_instance = BaseClass("Base class instance")
base_instance.instance_method() # 调用实例方法
base_instance.class_method() # 调用类方法
# 创建派生类的实例
derived_instance = DerivedClass("Derived class instance", "Additional value")
derived_instance.instance_method() # 调用实例方法
derived_instance.class_method() # 调用类方法
derived_instance.derived_method() # 调用子类的方法
# 访问类变量
print(BaseClass.class_variable)
print(derived_instance.class_variable)
# 访问实例变量
print(derived_instance.instance_variable)
print(derived_instance.additional_variable)