python 实例方法,类方法和静态方法
2017-02-16 17:53
323 查看
在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法,self一般是在实例方法中使用,而cls则一般在类方法中使用,在静态方法中则不需要使用一个默认参数。在下面的代码中,InstanceMethod类的方法中,第一个参数是默认的self,在这里可以把self换成任何名字来表示,不会有任何影响。在类调用的时候,需要满足参数的个数要求(参数中含有*args是例外),例如13行中,类调用没有参数的时候,会提示错误。同样,实例方法的参数个数也应该满足要求,例如16行中也会报错。实例方法的一个主要特点就是需要绑定到一个对象上,python解析器会自动把实例自身传递给方法,如14行所示,而直接使用InstanceMethod.f1()调用方法是不行的。
View Code
1 class test(object): 2 3 def instance_method(self): 4 print 'This is {0}'.format(self) 5 6 @staticmethod 7 def static_method(): 8 print 'This is static method.' 9 10 @classmethod 11 def class_method(cls): 12 print 'This is {0}'.format(cls) 13 14 15 if __name__ == '__main__': 16 a = test() 17 a.instance_method() 18 a.static_method() 19 a.class_method() 20 print '----------------------------------------' 21 # test.instance_method() 22 test.static_method() 23 test.class_method()
View Code
相关文章推荐
- python面向对象编程(2)—— 实例属性,类属性,类方法,静态方法
- python中的实例方法、静态方法、类方法、类变量和实例变量浅析
- python 实例方法,类方法,静态方法
- Python绑定方法,未绑定方法,类方法,实例方法,静态方法
- python实例方法,类方法和静态方法
- python中类方法、类实例方法、静态方法的使用与区别
- 【Python基础】Python面向对象 - 3 - 新类,静态方法,类方法,实例方法
- Python 实例方法,类方法和静态方法
- Python Class 的实例方法/类方法/静态方法
- Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的
- python中类方法、类实例方法、静态方法的使用与区别
- python——实例方法、静态方法、类方法、类变量和实例变量浅析
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- python中类方法、类实例方法、静态方法的使用与区别
- python中的实例方法、静态方法、类方法、类变量和实例变量浅析
- python中类方法、类实例方法、静态方法的使用与区别
- python静态方法实例
- Python学习笔记——实例方法和静态方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- Python中类、实例和类方法、静态方法、实例方法的关系