Property属性

装饰器Property属性#

可以动态的控制属性的获取,设置,删除相关操作

方法一#

"""
	是同一个方法名
"""
class MyClass():
	
	def __init__(self,name):
		self.name = name
		
	@property  # 获取值时候触发
	def username(self):
		return self.name
		
	@username.setter  # 设置值时候触发
	def username(self,val):
		# print(val)  # val是设置的右值
		self.name = val
		
	@username.deleter
	def username(self):  # 删除值的时候触发
		del self.name

obj = MyClass("小红")
# 获取值的时候自动触发@property 装饰器下的方法
res = obj.username
print(res)

# 设置值的时候自动触发@username.setter 装饰器下的方法
obj.username = "小兰"
print(obj.username)

# 删除值的时候自动触发@username.deleter 装饰器下的方法
del obj.username

方法二#

class MyClass():

	def __init__(self,name):
		self.name = name
		
	# 获取数据
	def get_username(self):
		return self.name
	
	# 设置数据
	def set_username(self,val):
		self.name = val
	
	# 删除数据
	def del_username(self):
		del self.name
		
	# 参数的顺序: 获取 , 设置  , 删除
	username = property(get_username , set_username  , del_username )
		


obj = MyClass("小芳")
# 获取值的时候,执行get_username下的相关操作
print(obj.username)

# 设置值的时候,执行 set_username 下的相关操作
obj.username = "11223344"
print(obj.username)

# 删除值的时候,执行 del_username 下的相关操作
del obj.username
posted @   江寒雨  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
主题色彩
点击右上角即可分享
微信分享提示