擅长:python、mysql、java
<p>当python编译一个函数时,作为赋值目标的左侧变量被视为<code>local</code>,其余的都是全局变量。<code>loop</code>没有赋值,因此当python运行<code>loop.widget = urwid.Filler(...)</code>时,它知道{<cd2>}不是一个局部变量,它将在模块的名称空间中查找名称。在</p>
<p>模块名称空间是动态的,因此只要<code>loop = urwid.MainLoop(app_state.main_widget, unhandled_input=callback)</code>在查找之前运行,<code>loop</code>就会被创建并正常工作。由于在<code>loop.run()</code>之前无法执行回调,因此将定义<code>loop</code>。在</p>
<p>这是独生子女和全球国家面临的典型风险之一。确保在使用资源之前创建资源并不总是容易的。在</p>