为什么使用*args和**kwargs会在wxpython中引发错误?
运行此代码会导致错误为什么使用*args和**kwargs会在wxpython中引发错误?,python,wxpython,Python,Wxpython,运行此代码会导致错误 import wx class MyFrame(wx.Frame): def __init__(self, *args, **kwargs): wx.Frame.__init__(self, args, kwargs) self.Show() app = wx.App() frame = MyFrame(None) app.MainLoop() Traceback (most recent call last): File
import wx
class MyFrame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, args, kwargs)
self.Show()
app = wx.App()
frame = MyFrame(None)
app.MainLoop()
Traceback (most recent call last):
File "testing.py", line 10, in <module>
frame = MyFrame(None)
File "testing.py", line 6, in __init__
wx.Frame.__init__(self, args, kwargs)
File "C:\Python27\lib\site-packages\wx-2.9.4-msw\wx\_windows.py", line 580, in __init__
_windows_.Frame_swiginit(self,_windows_.new_Frame(*args, **kwargs))
TypeError: in method 'new_Frame', expected argument 1 of type 'wxWindow *'
导入wx
类MyFrame(wx.Frame):
定义初始化(self,*args,**kwargs):
wx.Frame.\uuuu init\uuuux(self、args、kwargs)
self.Show()
app=wx.app()
frame=MyFrame(无)
app.MainLoop()
回溯(最近一次呼叫最后一次):
文件“testing.py”,第10行,在
frame=MyFrame(无)
文件“testing.py”,第6行,在_init中__
wx.Frame.\uuuu init\uuuux(self、args、kwargs)
文件“C:\Python27\lib\site packages\wx-2.9.4-msw\wx\\u windows.py”,第580行,在uu init中__
_视窗框架开关(自,视窗新框架(*args,**kwargs))
TypeError:在方法“new_Frame”中,应为“wxWindow*”类型的参数1
在wxpython中是否可以对位置参数和命名参数使用*args和**kwargs
wx.Frame.__init__(self, *args, **kwargs)
它很好用。。。btu您需要正确地传递它们
它很好用。。。btu当传递参数用于解包时,您需要正确地传递参数来解释上述问题。^使用
*
和**
,解包将传递参数作为单个参数或关键字参数。例如func(*(1,2),***{'a':3,'b':4})
与说func(1,2,a=3,b=4)
相同,如果在传递args和kwargs时不包括星号,那么在传递参数用于解包时,就传递元组和dictal来解释上述内容^using*
和**/code>,将参数作为单个参数或关键字参数传递。例如func(*(1,2),**{'a':3,'b':4})
与说func(1,2,a=3,b=4)
相同,如果在传递args和kwargs时不包括星号,那么就是传递元组和dict