python3使用property简化getter和setter方法

本文介绍如何在Python3中使用`property`装饰器来简洁地实现对象属性的getter和setter方法,通过username = ***的方式直接进行赋值操作,由解释器自动处理访问类型。
摘要由CSDN通过智能技术生成

property(getXX , setXX)

class User(object):
	def __init__(self):
		self.__username = None
		self.__password = None
	
	def setUsername(self,un):
		if len(un) >= 6 and len(un) <= 18:
			self.__username = un
		else:
			print("用户名%s不符合命名规定"%un)
	
	def getUsername(self):
		return self.__username 
	
	def setPassword(self,pwd):
		if len(pwd) >= 6 and len(pwd) <= 18:
			self.__password = pwd
		else:
			print("密码%s不符合规定"%pwd)
	
	def getPassword(self):
		return self.__password

	
	username = property(getUsername, setUsername)
	password = property(getPassword, setPassword)

if __name__ == "__main__":
	my_user = User()
	my_user.setUsername('asdfgh001')
	my_user.setPassword('a12345')
	print("--------getXX方法--------")
	print(my_user.getUsername())
	print(my_user.getPassword())
	print("--property升级setter和getter---")
	my_user.username = 'zhangsan'
	my_user.password = 'zs12345'
	print(my_user.username)
	print(my_user.password)

使用property简化getter和setter方法
username = property(getUsername, setUsername)
password = property(getPassword, setPassword)
方法调用时可以直接使用username = *** (setter)
python解释器会自动判断getter还是setter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值