9.类的私有化属性

1.区域划分

9.类的私有化属性_第1张图片

2.公有属性 x

9.类的私有化属性_第2张图片

3.受保护属性 _y

9.类的私有化属性_第3张图片

å¨è¿éæå¥å¾çæè¿°表示可以访问,但有警告,不报错

__all__ = ["_y", ...]			#	列表内的属性可以用跨模块访问方式2访问

4.私有属性 __z (双下划线 __)

9.类的私有化属性_第4张图片

 

    私有属性只能通过类的内部进行访问

class Person:
	def __init__(self):
		self.__age = 18
	
	def set_age(self, value):
		if isinstance(value, int) and 0< value<100:
			self.__age = value
		else:
			print("输入的value有误")
p1 = Person()
p1.set_age(20)					#	此处已将age改为20

    注意私有属性的实现机制  -> 名字重整机制

class Person:
	__x = 10 					#	实际上将是由属性x改成了:_Person__x = 10

    其实可以通过

Person._Person__x

    来访问私有化属性,但既然私有化了这个属性,通过该方式访问它就显得没有意义了。
 

你可能感兴趣的:(Python面向对象笔记)