使用@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)
【使用@property修饰器简化getter和setter】注意:1.因为python是一行一行读取代码,所以@property,@XX.setter有先后顺序之分。2.方法的名字是XX,getter方法和setter方法的名字必须相同。
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件
- android|android studio中ndk的使用
- 使用协程爬取网页,计算网页数据大小