我遇到下面的代碼在Python腳本怪(?)模塊導入語法
from pprint import pprint
何不乾脆import pprint
?
除非模塊pprint包含正在別名爲pprint一個函數調用pprint(當然,這必須是瘋狂的定義是什麼?)
我遇到下面的代碼在Python腳本怪(?)模塊導入語法
from pprint import pprint
何不乾脆import pprint
?
除非模塊pprint包含正在別名爲pprint一個函數調用pprint(當然,這必須是瘋狂的定義是什麼?)
它確實包含一個函數pprint,這正是發生了什麼事情。我更喜歡輸入pprint,而不是pprint.pprint或decimal.Decimal,或datetime.datetime.now() - 是不是?
eloff:用於解釋爲什麼任何人想要這樣做的用例的+1。好吧,我看到發生了什麼。模塊爲Python對象提供了一種「命名空間」。儘管如此,我仍覺得有點不可思議 - 我想,我會習慣的。 – morpheous 2010-06-01 13:52:27
你的信念是正確的,但在任何方式,它不是「別名」 。它簡單地命名爲pprint
,它不違反任何Python風格指南。
是的,語法是from module import functions
,所以第一個pprint是模塊名稱,第二個是函數名稱。
我想你已經回答了你自己的問題。 – scribu 2010-06-01 13:48:53
你回答了你自己的問題。這不是瘋狂。該方法只是名爲pprint,它位於模塊pprint中。 – extraneon 2010-06-01 13:48:59
爲什麼調用一個名爲'pprint'的模塊包含一個函數'pprint'瘋狂?它出什麼問題了?你能否更新你的問題來解釋「瘋狂」是什麼意思? – 2010-06-01 13:49:53