Python类方法

Python有类方法,实例方法,静态方法。方法是一个与特定的类相关联的函数。

方法在一个类定义内部声明,显示与类进行关联。
调用方法的语法和调用函数的语法不通。

__init__方法

当一个对象初始化时调用。

__str__方法

返回一个对象字符串。

# inside class Time:
      def __str__(self):
            return '%.2d':%.2d:%.2d' % (self.hour, self.minute, self.second)

打印后

time = Time(9, 45)
print(time)

输出:09:45:00

new()

这是个类方法(使用特殊方式处理,因此不用@classmethod),必须返回一个实例。返回实例会作为第一个参数(即self)传给__init__()方法。因为调用__init__()方法时要传入实例,而且禁止返回任何值,所以__init__()方法其实是‘初始化方法’。真正构造方法的是__new__()。new__也能返回其他类实例,这时解释器不会调用__init()。

self, cls

函数参数里的self和cls,是对类或实例的绑定,对于一般的函数我们可以直接调用,对于实例方法,我们每次定义方法的时候,都需要在参数中加入self,因为我们需要把实例自己传给函数,调用时a.foo(),实际上,foo(a, x)。类方法是以昂的,只不过传递的是类。
静态方法其实和普通方法一样不需要对谁进行绑定,唯一区别是需要用实例或类来调用。

posted @ 2020-09-12 21:39  L1m1t  阅读(184)  评论(0编辑  收藏  举报