2012-04-19 108 views

回答

7

它傳遞的元組(module, item)的功能作爲一個參數。如果沒有額外的參數,它將作爲單獨的參數傳遞moduleitem

+1

到目前爲止提供的所有答案都應該對OP有所幫助。我個人最喜歡這個,因爲它沒有引發關於元組創建的迂迴警報。做得好! – 2012-04-19 22:52:27

+2

@JohnY人知道它創建了一個元組顯然不會在這裏提出這個問題。 – 2015-12-13 12:18:15

+0

@ Hi-Angel:我不認爲你理解我的評論。我指的是「整體式」,就是整個「元組是由逗號而不是括號創建的」。元組的學生們喜歡關注這一點,並且似乎在每個機會都這樣做。當然,這是一個真正的觀點;但對我而言,這是過於技術性的,特別是對初學者的解釋。我喜歡這個答案的是,它的表述方式*不強調這一點。 – 2015-12-13 17:21:38

11

內括號創建一個tuple

>>> type(('a', 'b')) 
<type 'tuple'> 

從技術上講,可以在沒有括號創建的元組:

>>> 'a', 'b' 
('a', 'b') 

但有時候他們需要括號:

>>> 'a', 'b' + 'c', 'd' 
('a', 'bc', 'd') 
>>> ('a', 'b') + ('c', 'd') 
('a', 'b', 'c', 'd') 

在你的情況下,他們需要括號的元組從逗號區分分隔參數給一個函數。例如:

>>> def takes_one_arg(x): 
...  return x 
... 
>>> takes_one_arg('a', 'b') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: takes_one_arg() takes exactly 1 argument (2 given) 
>>> takes_one_arg(('a', 'b')) 
('a', 'b') 
+0

啊,我明白了,謝謝。 :) – BrianFreud 2012-04-19 22:46:00

2

這是完全一樣的話說:

parameter = (module, item) 
self.__items.append(parameter) 

即內部元素首先在元組被用作append()的單個參數之前創建一個元組。

+0

除了你不需要在你的例子中的元組周圍的參數...參數=模塊,項目就好了。 – ch3ka 2012-04-20 00:23:37