为了账号安全,请及时绑定邮箱和手机立即绑定

Python属性与组合Set / Get方法

Python属性与组合Set / Get方法

慕婉清6462132 2021-03-08 13:14:41
我知道python中的属性,以及它们如何像以前一样使用class属性,但是在两者之间进行了一些可能的修改。无论如何,最近做了一些Perl,我开始喜欢这样的想法:更少的代码,将getter和setter结合起来喜欢:sub filename {   my $self      = shift;   my $filename  = shift;   if ($filename){ $self->$filename = $filename;}   else {return $self->$filename;}}显然,在perl中,您可以省略方法后面的(),该方法使该方法“更干净”,并且对我的类用户更透明。在py中,我可以做类似的事情,唯一的缺点是访问时需要使用():def filename(self, setter=None):    if setter is not None:         self._filename = setter    else:         return self._filename对我来说,这只是比做属性事情更紧凑的方式,而且我相信我的代码更具可读性。那么,我的方法有什么问题吗?还是出于某种原因它是单一的?
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

python的各个部分以许多很酷的方式组合在一起。如果您发明了自己的“零件”或惯用语,那么您将失去将来的功能(例如,对迭代属性进行排序或递增)

查看完整回答
反对 回复 2021-03-26
  • 2 回答
  • 0 关注
  • 231 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信