1.给每个形参赋予默认值
class Vector2D:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
# 创建一个二维向量实例,其 x 和 y 分量都默认为 0
zero_vector = Vector2D()
print(zero_vector.x, zero_vector.y) # 输出: 0 0
2.建立类方法
@classmethod
是一个装饰器,用于定义一个类方法。类方法的第一个参数是类本身(通常命名为cls
),而不是实例(self
)。这意味着这个方法是绑定到类的,而不是类的实例。
class Vector2D:
def __init__(self, x, y):
self.x = x
self.y = y
@classmethod
def ZERO(cls):
return cls(0, 0)
# 创建一个二维向量实例,其 x 和 y 分量都为 0
zero_vector = Vector2D.ZERO()
print(zero_vector.x, zero_vector.y) # 输出: 0 0