暂无 |

Class Methods类方法

到目前为止,我们查看的对象的方法由类的实例调用,然后传递给方法的自参数。 类方法是不同的——它们由类调用,该类传递给方法的CLS参数。 这些方法的一个常见用途是工厂方法,它使用与通常传递给类构造函数的参数不同的参数实例化类的实例。 类方法用类方法装饰器标记。

例如:

class Rectangle:
  def __init__(self, width, height):
    self.width = width
    self.height = height

  def calculate_area(self):
    return self.width * self.height

  @classmethod
  def new_square(cls, side_length):
    return cls(side_length, side_length)

square = Rectangle.new_square(5)
print(square.calculate_area())

结果:

>>>
25
>>>
new_square 是类方法 在类上调用,而不是在类的实例上调用。 它返回cls类的新
从技术上讲,参数自身和cls只是约定,它们可以被更改为其他任何东西。然而,它们是普遍遵循的,所以坚持使用它们是明智的。

0

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论