0
運行該代碼產生的錯誤爲什麼使用* args和** kwargs會在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 "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 *'
是否有可能使用*指定參數和** kwargs的位置和命名參數在wxPython?
解釋上述^使用'*'和''**傳遞參數時用於*拆包*,這將通過作爲單個參數或關鍵字參數的參數。例如'func(*(1,2),** {'a':3,'b':4})'和'func(1,2,a = 3,b = 4)如果在傳遞args和kwargs時不包括星星,那麼你傳遞了一個元組和一個字典 – 2013-05-13 04:10:57