當函數作爲默認參數的值時
#time_stamp.py
def handle_message(timestamp=time.time()):
print timestamp
奇怪的結果如下,每次的timestamp都是一樣的,即使你等好長時間
>>> import
timestamp
>>>
timestamp.handle_message()
1377516566.87
>>>
timestamp.handle_message()
1377516566.87
>>>
timestamp.handle_message()
1377516566.87
>>>
timestamp.handle_message()
1377516566.87
在import
time_stamp.py時,timestamp=time.time()就已經被執行了,以後每次執行時,handle_message函數得到的timestamp值都是相同的值。
實驗結果:
在同一個類中,多次調用該函數,輸出的都是相同值。在同一個文件的不同類中,得到的是不同值。
猜測:在同一個類裏,import該文件時,time.time()只運行一次,在不同類裏time.time()分別執行一次。
是以類爲單位的,不是文件。
這是爲什麼呢?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.