请教各位大佬,小白刚学tkinter,在Radiobutton的command参数中,要求command等于一个函数,但如果这个函数有别的参数,我就不会表示了。
所以我又试了一下,代码如下:
请教各位大佬,如果我一定想保留func=func2的话,语法该如何表示?
def func1(func, *args):
print(func(*args))
def func2(var):
return str(var)
#func1(func2, 1) #正确
func1(func=func2, 1) #失败
def func1(func, *args):
print(func(*args))
def func2(var):
return str(var)
#func1(func2, 1) #正确
func1(func=func2, (1,2,3)) #失败
def fun1(a,b,c,d):
print(a,b,c,d)
def fun2(a,b,c,d,e=1,f=3):
print(a,b,c,d,e,f)
def control(func,*argl,**argd):
func(*argl,**argd)
control(fun1,1,2,3,4)
control(fun2,1,2,3,4,f=2)
这个func
属于位置参数,就是说必须放在相同的位置上,你可以尝试改成:
def func1(func=None, *args):
print(func(*args))
就是说把func改成默认参数就可以了。
望采纳。