getter和setter,python的setter的作用

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: