4
A
답변
7
그것은 하나의 인수로 함수에 튜플 (module, item)
을 전달합니다. 여분의 괄호가 없으면 별도의 인수로 module
과 item
이 전달됩니다.
parameter = (module, item)
self.__items.append(parameter)
, 즉 : 말을 정확히 동일합니다
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
지금까지 제공된 모든 대답은 OP에게 도움이 될 것입니다. 개인적으로 튜플 생성에 관한 범인 경보를 설정하지 않기 때문에 개인적으로 가장 좋습니다. 잘 했어! –
@JohnY 사람들이 분명히 튜플을 생성한다는 것을 알고있는 사람들은 여기에 질문을하지 않을 것입니다. –
@ Hi-Angel : 내 의견을 이해했다고 생각하지 않습니다. 내가 언급 한 "범퍼 경보"는 "괄호가 아닌 쉼표로 만든 튜플"전체를 가리 킵니다. 튜플 팬츠는이 점에주의를 기울이는 것을 좋아하며 모든 기회에 그렇게하는 것처럼 보입니다. 물론, 그것은 사실입니다. 하지만 나에게는 지나치게 기술적인데, 특히 초보자에게 설명하는 것이 좋습니다. 이 대답에 대해 내가 좋아하는 것은이 점을 강조하지 않는 방식으로 표현된다는 것입니다. –