저는 파이썬으로 한 줄을 보았습니다.파이썬에서 "*"는 무엇을 의미합니까?
self.window.resize(*self.winsize)
이 줄에서 "*"는 무엇을 의미합니까? 파이썬 튜토리얼에서 이것을 보지 못했습니다.
저는 파이썬으로 한 줄을 보았습니다.파이썬에서 "*"는 무엇을 의미합니까?
self.window.resize(*self.winsize)
이 줄에서 "*"는 무엇을 의미합니까? 파이썬 튜토리얼에서 이것을 보지 못했습니다.
하나의 가능성은 self.winsize가 목록 또는 튜플이라는 것입니다. * 연산자는 목록이나 튜플에서 인수를 풉니 다.
참조 : http://docs.python.org/tutorial/controlflow.html#unpacking-argument-lists
아 : SO를 토론이에있다 : Keyword argument in unpacking argument list/dict cases in Python
예 :
>>> def f(a1, b1, c1): print a1
...
>>> a = [5, 6, 9]
>>> f(*a)
5
>>>
그래서리스트 나 튜플에서 요소의 압축을 풉니 다가. 요소는 무엇이든 될 수 있습니다.
또 다른 작은 추가 : 함수가 명시적인 수의 인수를 예상하면 튜플 또는 목록은 필요한 요소의 수와 일치해야합니다.
>>> a = ['arg1', 'arg2', 'arg3', 'arg4']
>>> f(*a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: f() takes exactly 3 arguments (4 given)
>>>
인수의 수를 모른 채 여러 인수를 승인하려면 :
여기
>>> def f(*args): print args
...
>>> f(*a)
('arg1', 'arg2', 'arg3', 'arg4')
>>>
튜플 또는 목록 일 필요는 없지만 이전 (유한) 반복 가능한 모든 작업을 수행 할 수 있습니다. 여기
이 예는 발전기 식 통과>>> def f(*args):
... print type(args), repr(args)
...
>>> f(*(x*x for x in range(10)))
<type 'tuple'> (0, 1, 4, 9, 16, 25, 36, 49, 64, 81)
보기 ([인자리스트 풀기] http://docs.python.org/tutorial/controlflow.html?highlight=unpacking#unpacking-argument- 목록) 온라인 [Python Tutorial] (http://docs.python.org/tutorial/index.html)에 있습니다. – martineau
http://stackoverflow.com/questions/4496712/better-way-of-handling-nested-list/4497363#4497363을 참조하십시오. –
[**와 * do는 python 매개 변수에 대해 무엇을 할 수 있습니까?] (http://stackoverflow.com/questions/36901/what-does-and-do-for-python-parameters) – sth