python 之 staticmethod,classmethod,property的区别

 

绑定方法和非绑定方法:

普通def定义的都是绑定给对象的方法,对象调用时会自动传入对象本事,而类调用时需手动传入对象。

 

加上@classmethod装饰器就是绑定给类的方法,会自动传类本身

 

加上@staticmethod是非绑定方法,不会自动传类参数或对象参数

 

 

参数有self

能访问类方法

能访问实例方法

说明

staticmethod

与类、实例均无关

classmethod

只能访问类变量

property

把方法变为属性,

调用时不能加括号

posted @ 2018-01-18 17:21  Claire_xu  阅读(222)  评论(0编辑  收藏  举报