2017-09-27 83 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会更好。