双下划线表示私有(private)类型的成员。只允许定义该方法的类在类内部进行访同,不能 通过类的实例进行访问,但是可以通过“类的实例名类名_ xxx"方式进行访问。
例7.13创建一个Geese类,定义私有属性neck,并在_ init_ O方法中访问该属性,最后生成Geese的实例,通过实例名输出私有属性_neck。
私有属 性的使用。
class Geese:
"大雁类“
neck =‘大雁的胖子 不是很长’
井定义私有属性
def . init_ (self):
print(‘在类内部进行访问_ neck,’ ,Geese._ neck)
geese = Geese()
井类的实例化
print(’ 加人类名访问;’ ,geese… Geese neck)
print(’ 通过实例名访问;’ rgeese. L neck)
通过上面的运行结果可以看出:私有属性可以在类内部访问,也可以通过“实例名。类名_Xxx”方式访问,但是不能通过实例名加属性的方式访问。
可能读者对这个self多数仍然不是特别理解,特在此强调,self是实例化-个类后指代该实例本身(创建的对象的。