我正在通過在線閱讀Dive Into Python來學習Python,並且在第2章中我看到您可以使用__name__
屬性進行測試,所以我在想,是否有人知道此屬性的其他用法?謝謝__name__屬性的其他用途
3
A
回答
3
我曾經有一個裝飾器的命令行腳本文件。
的裝飾中使用這樣的:
@command
def someFunc():
# code goes here
的裝飾在做這樣的事情:
commands = {}
def command(func)
commands[func.__name__] = func
return func
然後我可以做這樣的事情:
commandName = raw_input()
commands[commandName]();
哪會從控制檯讀取一個命令的名稱並調用它 - 如果它之前被標記爲裝飾器(所以沒有危險的電話將可能與input
一樣)。
(在我的代碼名稱由命令行參數採取不raw_input
。)
這很容易讓我通過提供他們的名字訪問命令。這是其中一個用途 - 一般規則是「當您想將自己的語義添加到函數定義」「的概念中時,它很有用。一般來說,裝飾者也是如此。
(順便說一句,有func.func_name
場,這是更正確的超過func.__name__
使用,因爲開始__
標識符都應該是私人在Python,據我所知 - 只是一個小細節)
1
它可以是非常有用的調試時。在編寫框架(或任何其他非常通用的軟件)時,您可以使用名稱輕鬆進行調試,以瞭解傳遞的內容。
相關問題
- 1. 使用__name__的屬性
- 2. __name__的用途是什麼?
- 3. python中的__name__變量的其他值
- 4. 使用屬性填充其他屬性
- 5. IF /其他屬性
- 6. requirePermission屬性(web.config)的用途
- 7. $ scope.this屬性的用途?
- 8. Match_parent屬性的用途
- 9. 不推薦使用NSOpenPanel的文件名屬性,還有什麼其他用途?
- 10. Win32_ComputerSystem在Python中的__name__屬性?
- 11. 弱引用的其他用途?
- 12. 訪問其他屬性在屬性角
- 13. '角色'對象沒有屬性'__name__'
- 14. Hibernate映射文件的其他用途
- 15. 使用其他屬性的值進行計算的屬性
- 16. 驗證XML其他屬性
- 17. 根據其他屬性
- 18. 使用Android中的其他屬性搜索XML屬性
- 19. 用其他屬性過濾magento的產品屬性
- 20. 你能引用XAML中其他屬性的屬性嗎?
- 21. c#屬性還有其他有用的屬性嗎?
- 22. UIActivityItemProvider類中的placeholderItem屬性的用途
- 23. Vb.net物業使用其他屬性
- 24. 其他屬性不起作用
- 25. 獲得屬性值屬於其他類
- 26. 從其他文件調用函數if __name__ ==「__main__」:
- 27. 「for」屬性的HTML5有什麼用途?
- 28. 屬性的用途和區別?
- 29. C#中屬性的用途是什麼?
- 30. 替換CLLocationManager的「用途」屬性
太好了,我還是需要充分理解你說的,感謝func.func_name的提示。 – 2010-12-03 23:09:16