关于Python类和实例的调用问题???求教!!!!

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()
print p1.how_many()#这里通过实例调用函数how_many()怎么也可以?因为实例属于类,所以类的属性(方法)how_many()也可以被实例p1调用?
#如何改可以实现只能通过类Person调用,而无法通过实例调用,从而提高安全性?


asdhjhg
浏览 1614回答 2
2回答

kngines

how_many(self)是类方法,类可以访问类方法也可以访问实例方法;实例可以访问实例方法也可以访问类方法;类本身可以访问函数,实例不能,根据你的描述可以把 how_many()方法定义成函数

慕粉1311019647

第一点是这样理解的。第二点不清楚
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python