课程
/后端开发
/Python
/python进阶
通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。
这句话我想较真,怎么理解这个相当于呢
2018-04-19
源自:python进阶 4-10
正在回答
用了@classmethod后,how__many()变为类方法,传入的是类本身,所以cls相当于Person,cls.count相当于Person.count
qq_财神_4 提问者
看下源码
外面转了一圈 学java的过程懂得了什么叫“构造函数”。这个问题的关键在于理解“@classmethod方法起绑定作用”
class Person(object):
__count = 0
@classmethod
def how_many(cls):
return cls.__count;
定义的how_many方法直接绑成了Person类的“构造方法(默认方法)”,所以cls对__count的使用直接等价于Person对__count的使用
猜测应该是 @classmethod 在作用. 有这条语句,参数命名叫什么无所谓
参数名命名什么不重要,无论传什么参数名,都代表实例本身
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计