getter和setter,python的setter的作用
本文主要详细介绍python中的getter和setter。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。
00-1010使用python编写序言文案装饰摘要
目录
因为java开发的习惯,我想在python开发中使用类似JavaBean的结构。
前言
Getter和setter方法可以结合java的编写习惯直接用python编写。下面是一个例子:
类数据Bean:
bean类
def __init__(self):
构造方法
self.username: str=
self.password: str=
定义set_username(self,username: str):
设置用户名
self.username=用户名
def set_password(self,password: str):
设置密码
self.password=密码
def get_username(自身):
获取用户名
返回self .用户名
def get_password(self):
获取密码
返回自己的密码
这是一个getter和setter结构,结合了java的习惯和python类的使用。当然也可以完全用java写。请参考下面的例子:
类数据Bean:
bean类
#用户名
username: str=
#密码
password: str=
定义set_username(self,username: str):
设置用户名
self.username=用户名
def set_password(self,password: str):
设置密码
self.password=密码
def get_username(自身):
获取用户名
返回self .用户名
def get_password(self):
获取密码
返回自己的密码
其实抽取构造方法中self定义的变量,效果是一样的。
复制型编写
在python的内置装饰器中,@property和@XXX.setter是getter和setter方法的最佳选择。
当一个方法(函数)的最终目的是返回值时,可以用@property修饰(因为java的使用习惯,我更喜欢称之为annotation),这样就可以实现getter方法。
当一个方法用XXX.setter修饰时,意味着对象名可以通过类直接实例化。变量名赋给它的变量,其中XXX表示变量名也是方法(函数)名。有关详细信息,请参见以下示例:
类数据Bean:
bean类
#覆盖setter方法
@username.setter
定义用户名(自身,用户名:字符串):
设置用户名
self.username=用户名
@password.setter
定义密码(自身,密码:字符串):
设置密码
self.password=密码
#而不是getter方法
@属性
定义用户名(自己):
获取用户名
返回self .用户名
@属性
定义密码(自身):
获取密码
返回自己的密码
#测试
data_bean=DataBean()
#直接分配
date_bean.username=123
打印(数据bean .用户名)
使用python的装饰器
本文到此为止。希望能帮到你,也希望你能多关注更多热门IT软件开发工作室的内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。