這個問題是風格之一。由於python中的屬性不是私有的,因此使用類似my_obj.attr
之類的方法直接在類之外處理它們是否很好並且很常見?或者,也許,通過成員函數(如get_attr()
)這樣做是更好的做法,這是C++中的慣例?在python中尋址屬性的風格
4
A
回答
12
時聽起來像是你要使用的屬性:
class Foo(object):
def __init__(self, m):
self._m = m
@property
def m(self):
print 'accessed attribute'
return self._m
@m.setter
def m(self, m):
print 'setting attribute'
self._m = m
>>> f = Foo(m=5)
>>> f.m = 6
setting attribute
>>> f.m
accessed attribute
6
這是訪問變量的最適應的方式,對於不需要執行此操作的簡單用例,在Python中,您可能會始終更改您r設計可以在以後免費使用屬性。
2
創建類的實例,第一:
myinstance = MyClass()
myinstance.attr
否則你會得到這樣的錯誤AttributeError: class MyClass has no attribute 'attr'
試圖做MyClass.attr
0
是的,這是一種常見的做法。如果您想更好地控制檢索屬性的方式,請考慮使用__getattribute__
和/或__getattr__
。
相關問題
- 1. python屬性風格
- 2. 風格屬性在Firefox
- 3. 選擇風格屬性的
- 4. 獲得風格的屬性
- 5. 風格屬性的jQuery
- 6. 安全風險(XSS)的風格屬性
- 7. 訪問非主題風格中的同級別風格屬性
- 8. 尋呼機風格在asp.net
- 9. 風格範圍屬性
- 10. 風格TargetType屬性問題
- 11. 風格屬性只從類
- 12. AntiSamy for TinyMce風格屬性
- 13. 如何從風格屬性
- 14. Android XML屬性風格
- 15. CSS選擇風格屬性
- 16. 風格在Python
- 17. jQuery的屬性得到了風格
- 18. 的JavaScript風格刪除特定屬性
- 19. GTK3:獲取風格的類屬性
- 20. 「代理屬性」是不錯的風格?
- 21. 風格缺少必需的屬性
- 22. 更改「super/base」風格的屬性wpf
- 23. Python新風格類不能使用__dict__來更新屬性屬性
- 24. 在自己的佈局中使用Android風格的屬性
- 25. 如何在風格中訪問控件父級的屬性
- 26. 顯示在已搜尋屬性選項中的屬性(搜索)
- 27. ES6中是否有與Python風格的類屬性等效的東西?
- 28. 重複屬性「風格」二傳手
- 29. Wpf風格和附加屬性
- 30. Typescript默認屬性值風格指南
您不使用getter方法獲取Python中的簡單屬性! – schlamar
通常情況下,您不需要獲取類屬性的getter,僅用於實例屬性。 – 0xc0de
@ 0xc0de對不起。我的意思是對象的屬性。我已更正問題 – freude