擅长:python、mysql、java
<p>免责声明:我还没有测试过这个。你知道吗</p>
<p>使用字典存储所有函数,例如:</p>
<pre class="lang-py prettyprint-override"><code>option = "default"
def change_option(target):
global option
option = target
def f1():
print("foo")
def f2():
print("bar")
my_functions = {
"select1": f1,
"select2": f2
"default": None
}
imgx=tk.Button(win,image=towert,command=my_functions[option]) # None
swapper = tk.Button(win, image=towert, lambda: change_option("select2")) # button to change the command if you want it
imgx=tk.Button(win,image=towert,command=my_functions[option]) # print("bar")
change_option("select1")
imgx=tk.Button(win,image=towert,command=my_functions[option]) # print("foo")
</code></pre>
<p>你可能不用字典也能过得去,但我认为这是相当干净的。永远不要使用exec()或eval(),除非您完全知道它有什么安全隐患,您知道该产品不会在其他机器上使用,或者您真的没有其他选择。你知道吗</p>