Python 如何回调由其他函数组成的函数?
我正在尝试用Python和Tkinter编写应用程序。它将执行由几个函数组成的计算,这些函数将彼此的输出作为参数。并将向用户显示最后的函数结果 在后端,代码似乎工作正常,例如下面的50按预期打印。但我无法使按钮正常工作Python 如何回调由其他函数组成的函数?,python,namespaces,Python,Namespaces,我正在尝试用Python和Tkinter编写应用程序。它将执行由几个函数组成的计算,这些函数将彼此的输出作为参数。并将向用户显示最后的函数结果 在后端,代码似乎工作正常,例如下面的50按预期打印。但我无法使按钮正常工作 import tkinter as tk main_window = tk.Tk() a=1 b=2 c=3 d=4 e=5 def function (a,b,c): return a+b+c def sumation (d): sum = functi
import tkinter as tk
main_window = tk.Tk()
a=1
b=2
c=3
d=4
e=5
def function (a,b,c):
return a+b+c
def sumation (d):
sum = function (a,b,c)
return sum + d
def multiplication (e):
return sumation (d) * e
def callback():
print (multiplication (e))
print (multiplication (e))
b = tk.Button(text="click me", command=callback)
b.pack()
main_window.mainloop()
我希望每次按下按钮都会打印50,但我收到了以下错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:...\Programs\Python\Python37-32\Lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:.../Programs/Python/Python37-32/Lib/Program.py", line 24, in callback
print (multiplication (e))
是因为一个函数包含其他函数输出的原因吗?与一个功能一样,它似乎工作正常。如果是,是否有解决此问题的方法?您切断了包含实际错误消息的回溯部分-但可能与以下事实有关:
b
在单击按钮时已从2重新定义为按钮。所以function()
正在尝试计算1+Button+3
…非常感谢您,将b=tk.Button(text=“click me”,command=callback)更改为btn=tk.Button(text=“click me”,command=callback)。解决了问题。旁注:不要命名函数函数。这是一个内置名称,不应被覆盖。