下面的代碼工作:子類Python的元組與多個__init__參數
class Foo(tuple):
def __init__(self, b):
super(Foo, self).__init__(tuple(b))
if __name__ == '__main__':
print Foo([3, 4])
$ python play.py
play.py:4: DeprecationWarning: object.__init__() takes no parameters
super(Foo, self).__init__(tuple(b))
(3, 4)
但不是以下:
class Foo(tuple):
def __init__(self, a, b):
super(Foo, self).__init__(tuple(b))
if __name__ == '__main__':
print Foo(None, [3, 4])
$ python play.py
Traceback (most recent call last):
File "play.py", line 7, in <module>
print Foo(None, [3, 4])
TypeError: tuple() takes at most 1 argument (2 given)
爲什麼?
有人可以告訴我如何引用整個塊,所以雙下劃線不意味着大膽? – 2009-10-14 10:32:09
選擇整個粘貼文本,然後點擊報價圖標(文本框頂部的黑色圖標)。 – 2009-10-14 10:34:46
沒有工作,但它縮進了一點 – 2009-10-14 10:42:35