我知道有一個叫做id的函數,所以我不會創建一個名爲id的函數或變量,但是對象上的屬性又如何呢?在Python中創建一個名爲'id'的屬性是不好的?
回答
沒關係,而且很常見。例如,映射到數據庫記錄的對象通常會將「id」屬性映射到數據庫「id」列值。
屬性始終是「命名空間」,因此您必須通過self.id
或obj.id
來引用它們,因此不會與內置函數發生衝突。
我經常爲抽象數據庫表的類執行此操作,因爲沒有合理的名稱衝突機會,因此經常會出現一個名爲id
的字段。請注意,一些synatax熒光筆將標記爲內置功能。
+1只是因爲我喜歡你。 – Odomontois 2010-08-16 23:08:35
@Odomontois。感謝您將我的注意力轉到這篇文章。我清理了我的語法 – aaronasterling 2010-08-16 23:26:58
,儘管不是我的拼寫顯然 – aaronasterling 2010-08-16 23:32:43
正如其他人所說,具有id屬性是完全正確的,儘管許多人認爲這是數據庫設計的一個不好的做法。但那是另一個問題。
如果你關心一般的約定,你應該檢查出pylint。這個工具分析你的代碼錯誤和約定問題。
- 1. 如何使用FactoryGirl創建一個名爲「別名」的屬性?
- 2. spring-roo爲錯誤的@id屬性名創建json控制器
- 3. 在類中定義ID屬性是一種好的做法嗎?
- 4. 獲取一個屬性ID,設置爲另一個屬性ID
- 5. 用美麗的湯來創建一個名爲「name」屬性new_tag
- 6. 在Python中爲類屬性創建'標準屬性'
- 7. 爲什麼在bean中創建受保護的屬性被認爲是一種不好的做法?
- 8. 爲每個創建的元素分配新的id屬性
- 9. 如何在同一文檔的另一個屬性中創建一個屬性?
- 10. 使用與類成員名稱相同的名稱創建一個python屬性
- 11. 總是有一個ID屬性是否有好處?
- 12. 設置一個屬性在創建檢索無價值 - Python的
- 13. 創建一個不在設計器中生成的屬性
- 14. 在Python中創建一個類實例屬性只讀
- 15. 在Python中創建列表屬性
- 16. 是否有一個名爲不可見的屬性值?
- 17. 這是更好的多個屬性或行爲屬性
- 18. 是否在PHP性病類爲每個屬性創建一個隱藏字段
- 19. Python認爲我的setup.py創建的包是一個不是python包的模塊
- 20. 在MVVM中爲Viewmodels創建一個空基類是不好的做法嗎?
- 21. 創建Python類,其中的屬性是動態定義的
- 22. 在python中創建ID
- 23. 爲xaml中的遞歸代碼創建一個usercontrol是否好?
- 24. Select2不會創建名稱屬性
- 25. 我創建了一個具有重複屬性名稱的ndb.model
- 26. 創建屬性來表示在C#中的多個子屬性
- 27. 爲什麼Nokogiri的to_xhtml從`name`創建新的`id`屬性?
- 28. 在Try塊中,爲多個異常創建一個Catch還是爲每個異常創建一個Catch更好?
- 29. 是否可以從同一個原型對象中的另一個屬性創建一個屬性?
- 30. 如何在Python類中爲非函數成員屬性創建別名?
對象的實際ID通常不會作爲屬性公開。嘗試「dir(SomeCustomInstanceOfSomething)」,你不會看到「id」屬性,除非它被專門聲明爲你的自定義類/對象的一部分。 「id(SomeCustomInstanceOfSomething)」不會受到像「myObject.id = 1234」這樣的事情的影響 – ddotsenko 2010-08-16 22:31:45
你讓我對此感覺更好。開始了。 – Ben 2016-06-21 13:49:03