我知道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对我来说,这只是比做属性事情更紧凑的方式,而且我相信我的代码更具可读性。那么,我的方法有什么问题吗?还是出于某种原因它是单一的?
添加回答
举报
0/150
提交
取消