2012-12-27 2 views
1

이 코드를 분석하고 있는데 이것이 파이썬 2.X로 코딩되었다고 생각하는 이유가 있지만 3.2를 사용하고 있으며 변환하려고합니다 그렇게하면 효과가 있습니다.def 함수를 사용한 파이썬 3 문법 오류 ((x, y))

I 발생한 첫 번째 오류는 왜 Py3에서 작동하고, 대안은 무엇하지 않는 구문

def function((x,y)) 

와 기능을했다?

+6

http://www.python.org/dev/peps/pep-3113/ – YXD

답변

5

Mr E가 이미 코멘트에서 말했듯이이 기능은 파이썬 3에서 PEP 3113으로 삭제되었습니다. 대안은 매우 간단합니다, 당신은 당신이 수동으로 풀고 단일 매개 변수가 있습니다

def func (xy): 
    x, y = xy 
    # ... 

또는 두 개의 매개 변수로 함수를 정의하고, 함수의 사용자가 값 자체를 압축합니다

def func (x, y): 
    # ... 

t = (1, 2) 
func(*t) 

Btw. Python의 2to3 도구를 실행하여 기존 Python 2 코드를 Python 3의 구문 및 라이브러리 변경 사항과 일치하도록 변환하는 것이 좋습니다.

1

2to3은 이론적으로이를 처리합니다. 나는 그것을 사용하지 않았기 때문에 "이론적으로"말하지만, 대부분의 파이썬은 광고 된대로 작동합니다.

+0

나는 그 도구에 대해 몰랐습니다. 고맙습니다 :) –

관련 문제