我知道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對我來說,這只是比做屬性事情更緊湊的方式,而且我相信我的代碼更具可讀性。那么,我的方法有什么問題嗎?還是出于某種原因它是單一的?
Python屬性與組合Set / Get方法
慕婉清6462132
2021-03-08 13:14:41