我一直在閱讀python教程,並簡要討論了屬性。據我所知,當請求一個類屬性時,python將請求引導到返回該屬性的屬性方法,以便代碼可以在該屬性被訪問之前運行。但爲什麼這是必要的,在下面的例子中,返回的屬性v甚至不能用點符號訪問?爲什麼我應該在python中使用@property裝飾器?
@property
def value(self):
if self.is_face_up:
v = BJ_Card.RANKS.index(self.rank) + 1
if v > 10:
v = 10
else:
v = None
return v
_「返回的屬性甚至不能用點符號訪問」_你是什麼意思? 'YourClass().value'工作得很好。 –
是的,我現在意識到你可以在方法上使用點符號 - 像變量v一樣處理它。當我寫這個問題時,我很困惑,因爲我無法通過鍵入MyClass.v來獲得變量v,但現在我知道這是不必要的,因爲您可以調用該方法。 –