1 python绑定或无绑定类方法
python函数是一种对象,在导入时会运行def语句,将函数对象赋值给函数名。
python方法是类内def定义的函数,即类方法。
1.1 访问类方法
python类方法可以通过类或实例进行访问。
NO | 访问方式 | 描述 |
---|---|---|
1 | 类.方法名(实例对象,参数) | 访问有self的方法,无绑定类方法,通过类名访问方法,第1个参数必须手动传实例对象。 |
2 | 实例.方法名(参数) | 访问有self的方法,绑定实例方法,通过实例访问方法,第1个参数程序自动送self,不需要手动传。 |
3 | 类.方法名(参数) | 访问无self的方法,只有python3支持,只能通过类名访问,第1个参数不需要从实例对象。 |
4 | f=实例.方法名;f(参数) f=类.方法名;f(实例对象,参数) | 访问有self的方法,将访问对象赋值给变量,通过变量调用访问访问。 |
示例
>>> class MethodC:def m1(self,msg):print(msg)def m2(args):print(args)
>>> MethodC().m1('实例访问方法')
实例访问方法
>>> MethodC.m1(MethodC(),'类访问方法')
类访问方法
>>> MethodC.m2('类访问无self方法')
类访问无self方法
>>> MethodC().m2('类访问无self方法')
Traceback (most recent call last):File "<pyshell#77>", line 1, in <module>MethodC().m2('类访问无self方法')
TypeError: m2() takes 1 positional argument but 2 were given
>>> f=MethodC().m1
>>> f('梯阅线条')
梯阅线条
>>> f=MethodC.m1
>>> f(MethodC(),'梯阅线条')
梯阅线条