私有字段

class Person:
    __count=0  #类变量(---字段)
    def __init__(self,name,age,gender):  #name\age 公共字段
        self.age=age   #实例变量---公共字段
        self.name=name #实例变量---公共字段
        self.__gender=gender #实例变量---私有字段,只能在类里面进行访问
        Person.__count+=1
    def say_hello(self):
        print("大家好!我是:"+self.name+"我今年"+str(self.age))

    def get_gender(self):
        print(self.__gender)

    @classmethod
    def get_count(cls):

        print("当前实例化的次数:",cls.__count)

if __name__=="__main__":
    alice=Person("alice",20,"女")
    bob=Person("bob",20,"男")

    #print(Person.count)
    print(alice.name)
    print(alice.age)
    print(alice.get_gender())     #AttributeError: 'Person' object has no attribute '__gender'
#私有字段不能在类以外的地方访问,只能在类的内部进行访问和调用,类的外面无法访问。
    print(alice.get_count())

#私有字段可以通过构造方法间接的访问。



猜你喜欢

转载自blog.csdn.net/weixin_40446764/article/details/80825397