python 入坑路--公有属性
公有属性
1.定义
什么是公有属性:指在这个类中所有方法都能访问的属性
2.例子,动手来玩一玩
class Dog(object):
'''描述狗'''
country="JP"
def __init__(self,name):
self.name=name
def eat(self,food):
print("%s is eating %s" %(self.name,food))
d=Dog("安倍晋三")
print(Dog.country) #通过类访问,类的属性
print(d.country) #访问公有属性
d.country ="USA" #修改公有属性
print(d.country)
#可能你有以为修改的公有属性,那其它实例是否也修改了呢,动手试试就知道了
d1=Dog("莫迪")
print(d1.country) #没有被修改
print(Dog.country)
#
上面这个例子的背后的一些小秘密。如下图:当实例d 修改了公有属性之后,就会存在在自己实例内存中,并且这个已经跟公有属性没有关系了。
下次再去访问country 这个变量时,会从实例的内存中查找,当实例内存中有这个变量,就返回值,如果没有这个属性再到类的内存中去访问。
就像实例d1一样,它的内存中没有country 这个属性,所以它会到类中的内存去访问。返回的初始值JP


浙公网安备 33010602011771号