使用@property修饰器简化getter和setter

@property -->getter方法

@XX.setter -->setter方法

class User(object):
	def __init__(self):
		self.__username = None	# 私有对象属性
		self.__password = None	# 私有对象属性
	
	@property					# getter
	def username(self):
		return self.__username	 
	
	@username.setter			# setter
	def username(self,un):
		if len(un) >= 6 and len(un) <= 18:
			self.__username = un
		else:
			print("用户名%s不符合命名规定"%un)
	
	@property					# getter
	def password(self):
		return self.__password
	
	@password.setter			# setter
	def password(self,pwd):
		if len(pwd) >= 6 and len(pwd) <= 18:
			self.__password = pwd
		else:
			print("密码%s不符合规定"%pwd)
	
if __name__ == "__main__":
	my_user = User()
	print("--使用@property升级setter和getter---")
	my_user.username = 'zhangsan'
	my_user.password = 'zs12345'
	print(my_user.username)
	print(my_user.password)

注意:1.因为python是一行一行读取代码,所以@property,@XX.setter有先后顺序之分。2.方法的名字是XX,getter方法和setter方法的名字必须相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值