這個想法是,當寫一個新函數時,它的變量名會自動附加到列表中。有沒有辦法將函數的名字自動添加到列表中?
只是要注意,我知道我可以使用mylist.append(無論),但我特別尋找一種方法來自動追加,而不是手動。
因此,如果我們開始與...
def function1(*args):
print "string"
def function2(*args):
print "string 2"
mylist = []
...是有辦法追加「功能1」和「函數2」自動MYLIST這樣它最終會這樣的..
mylist = [function1, function2]
具體來說,我想列出變量名稱,而不是字符串(例如「function1」)。
我在學習Python,只是在試驗,所以這個目前沒有任何特定的用途,我只是想知道它是否可能。
如果我不清楚,請提前感謝您的任何建議和快樂的回答。
**
嗨馬丁,謝謝你的迴應。我知道可以做到這一點,但我特別想知道是否可以自動做到這一點。我的想法是,如果我要編寫許多函數,那麼我就不必費心將每個函數添加到列表中。 – user2061277 2013-05-11 17:30:01
@ user2061277顯式優於隱式。它甚至會如何決定將什麼放入這個列表,哪些不是? – delnan 2013-05-11 17:32:23
@ user2061277:從您的問題中不清楚。有很多選擇;使用裝飾器('標記'你想添加到列表中的所有函數,只需要一些額外的語法),列出'globals()'命名空間中的所有對象,然後過濾函數等。 – 2013-05-11 17:32:45