Python 3에서 중첩 인수를 정의할 때 구문 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-05 19:21:02
원래의
201명이 탐색했습니다.

Why Do I Get a Syntax Error When Defining Nested Arguments in Python 3?

Python 3: 중첩 인수를 정의하는 동안 구문 오류

오류 컨텍스트

개발자는 다음으로 인해 Python 코드를 모듈로 컴파일할 때 구문 오류가 발생할 수 있습니다. 중첩된 인수의 정의를 시도했습니다. "모듈 실행" 옵션을 사용하여 IDLE에서 동일한 코드가 원활하게 실행되는 동안 배포 중에 다음과 유사한 오류가 발생할 수 있습니다.

SyntaxError: invalid syntax
File "/usr/local/lib/python3.2/dist-packages/simpletriple.py", line 9
def add(self, (sub, pred, obj)):
                  ^
로그인 후 복사

원인

이 오류는 제거로 인해 발생합니다. PEP 3113에 설명된 대로 Python 3에서 튜플 인수 풀기.

해결책

이 오류를 수정하려면 튜플을 단일 매개변수로 전달하고 수동으로 압축을 풀도록 코드를 수정해야 합니다. 영향을 받는 코드 def add(self, (sub, pred, obj)):는 다음과 같이 수정되어야 합니다.

def add(self, sub_pred_obj):
    sub, pred, obj = sub_pred_obj
로그인 후 복사

람다 함수의 경우 일반적으로 압축을 완전히 풀지 않는 것이 좋습니다. 다음을 사용하는 대신 다음을 사용하는 것이 좋습니다.

lambda (x, y): (y, x)
로그인 후 복사

자동 도구

lambda xy: (xy[1], xy[0])
로그인 후 복사
이 문제를 쉽게 감지하고 수정하기 위해 개발자는 프로그램을 활용할 수 있습니다. "2to3", "현대화" 또는 "미래화"와 같은 방법으로 Python 2.x 코드를 Python 3.x로 리팩터링하여 중첩 인수 처리에 적합한 솔루션을 효과적으로 식별하고 제안합니다.

위 내용은 Python 3에서 중첩 인수를 정의할 때 구문 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿