为了账号安全,请及时绑定邮箱和手机立即绑定

“因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用”这句话怎么理解?从代码哪里可以看出它并没有获取到实例变量?是从最后三句吗/

class Person(object):
   count = 0    @classmethod
   def how_many(cls):
       return cls.count
   def __init__(self, name):
       self.name = name
       Person.count = Person.count + 1

print Person.how_many()
p1 = Person('Bob')
print Person.how_many()

正在回答

1 回答

这句话的意思是,那个how_many()函数只能访问count,而不能访问name

因为count是定义的类属性,不是使用self.属性名定义的

1 回复 有任何疑惑可以回复我~
#1

慕粉3367702 提问者

我懂了,非常感谢你。
2016-09-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

“因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用”这句话怎么理解?从代码哪里可以看出它并没有获取到实例变量?是从最后三句吗/

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信