标签:就会 地方 没有 直接 注意 参数 __init__ 定制 init
绑定方法:绑定给谁就是谁来调用,而且会自动把它本身当做第一个参数传入。
绑定方法分为类的绑定方法和对象的绑定方法
用classmethod装饰器装饰的方法。
为类量身定制
对象可以调用,但是仍将该对象的类当做第一个参数传入
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
@classmethod
def test(cls):
print('这是类的绑定方法')
Person.test()
# 这是类的绑定方法
不需要通过对象,只需要通过类就能完成某些事的时候,就把该方法定义为类的绑定方法
没有被任何装饰器装饰的方法。
为对象量身定制
属于类的函数,类可以调用,但是必须按照函数的规则来,没有自动传值的说法
用staticmethod装饰器装饰的方法
定义在类内部,不与类或对象绑定,类和对象都可以调用,但是没有自动传值的说法,就是一个普通方法
注意:与绑定到对象的方法区分开,在类中直接定义的函数,没有被任何装饰器装饰的,都是绑定到对象的方法,对象调用该方法就会自动传值,但是staticmethod装饰的方法,不管谁来调用,都没有自动传值的说法
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
@staticmethod
def static_method():
print('我是静态方法,谁也不绑定')
Person.static_method() # 类来调用
p = Person('xiaowu', 18)
p.static_method() # 对象来调用
# 我是静态方法,谁也不绑定
# 我是静态方法,谁也不绑定
静态方法(非绑定方法)的作用:
跟类和对象都没有关系时候,可以定义成静态方法,一般在类内部使用,类外部也可以使用
就是一个普通函数,想把它拿到类中管理,就可以定义成静态方法
标签:就会 地方 没有 直接 注意 参数 __init__ 定制 init
原文地址:https://www.cnblogs.com/yunluo/p/11429868.html