2012-04-19 1 views

답변

7

그것은 하나의 인수로 함수에 튜플 (module, item)을 전달합니다. 여분의 괄호가 없으면 별도의 인수로 moduleitem이 전달됩니다.

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

, 즉 : 말을 정확히 동일합니다

+1

지금까지 제공된 모든 대답은 OP에게 도움이 될 것입니다. 개인적으로 튜플 생성에 관한 범인 경보를 설정하지 않기 때문에 개인적으로 가장 좋습니다. 잘 했어! –

+2

@JohnY 사람들이 분명히 튜플을 생성한다는 것을 알고있는 사람들은 여기에 질문을하지 않을 것입니다. –

+0

@ Hi-Angel : 내 의견을 이해했다고 생각하지 않습니다. 내가 언급 한 "범퍼 경보"는 "괄호가 아닌 쉼표로 만든 튜플"전체를 가리 킵니다. 튜플 팬츠는이 점에주의를 기울이는 것을 좋아하며 모든 기회에 그렇게하는 것처럼 보입니다. 물론, 그것은 사실입니다. 하지만 나에게는 지나치게 기술적인데, 특히 초보자에게 설명하는 것이 좋습니다. 이 대답에 대해 내가 좋아하는 것은이 점을 강조하지 않는 방식으로 표현된다는 것입니다. –

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

2

튜플이 append()에 대한 단일 인수로 사용되기 전에 내부 괄호가 먼저 튜플을 생성합니다.

+0

당신의 튜플 주위에 괄호가 필요 없다는 것을 제외하고는 ... parameter = module, item is fine. – ch3ka