2017-09-27 79 views
-3

對於下面的代碼,是由python預定義的「新」?代碼很混亂,我很難理解它。有人可以解釋嗎?如何跟蹤Python的變化?

int_range = widgets.IntSlider() 

def on_value_change(change): 
    print(change['new']) 

int_range.observe(on_value_change, names='value') 
display(int_range) 
+1

不,「change」字典中的'new'鍵不是由Python預定義的。它是由圖書館作者[這裏]選擇的(http://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Events.html#Traitlet-events)。 – Jonesinator

回答

0

Jonesinator有正確的信息。我認爲還有更多的代碼沒有在這裏顯示。例如,「小部件」沒有定義,並會導致腳本錯誤。 (與IntSlider相同......)

它在括號中的事實告訴你它是一個迭代器的值,例如從列表或字典中的一個鍵中拉出一個數字。

就我個人而言,我認爲「新」是一個很差的詞選擇。這不是一個保留字,因此它在技術上可用,但有更好的方法來爲字典制作密鑰。即使new_value會更好。