擅长:python、mysql、java
<p>另一种方法可能是将“代码堆”放入不同的函数中,在迭代器中收集这些代码,然后从该迭代器中获取<code>next</code>函数并执行它:</p>
<pre><code>def bunchofcode():
print("foo")
def somethingelse():
print("bar")
whattodo = iter([bunchofcode, somethingelse])
def clicked_rf1():
try:
next(whattodo)()
except StopIteration:
print("nothing to do")
</code></pre>
<p>或循环行为:</p>
^{pr2}$
<hr/>
<p>对于两状态切换按钮,还可以使用<code>dict</code>将当前状态映射到下一个状态。您还可以使用按钮的<code>relief</code>来标记状态。在</p>
<pre><code>def clicked_rf1():
transition = {"raised": "sunken", "sunken": "raised"}
btn_rf1["relief"] = transition[btn_rf1["relief"]]
</code></pre>