python中,func1(func=func2, ....),省略号中对应func2的参数,该如何写?

请教各位大佬,小白刚学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改成默认参数就可以了。
望采纳。