Python Import 문에 대한 PEP-404의 영향
Python Enhancement Proposal(PEP) 404는 Python 3의 import 문에 중요한 변경 사항을 도입했습니다. , 모듈의 명확성과 구성을 향상시킵니다. imports.
상대 가져오기란 무엇입니까?
상대 가져오기는 현재 모듈이나 패키지와 관련된 위치에서 모듈을 가져오는 것을 의미합니다. Python 2에서는 암시적 상대 가져오기가 허용되었지만 Python 3에서는 이것이 제한되었습니다.
상대 가져오기 변경
PEP-404는 명시적 상대 가져오기를 시행합니다. 이제 모듈은 선행 . (점) 또는 .. (이중 점)을 사용하여 현재 모듈 디렉터리에 대한 상대 경로를 지정합니다. 예:
from .mymodule import MyFunction # Import from within the current package from ..otherpackage import OtherClass # Import from one level up in the directory structure
Star Imports 제한
Star imports(패키지에서 모든 하위 모듈 및 속성 가져오기)는 이제 모듈 수준 코드에서만 허용됩니다. 이전에는 함수 및 클래스 정의에서 스타 가져오기가 허용되었지만 네임스페이스 오염 및 예상치 못한 동작을 방지하기 위해 이는 금지되었습니다.
예:
Python 2 코드:
# Function-level star import def my_function(): from mymodule import * do_something_with(MyAttribute) # Class-level star import class MyClass: def __init__(self): from otherpackage import * self.other_variable = OtherVariable
파이썬 3 code:
# Module-level star import import mymodule do_something_with(mymodule.MyAttribute) # Explicit import within function def my_function(): from mymodule import MyAttribute do_something_with(MyAttribute) # Explicit import within class class MyClass: def __init__(self): from otherpackage import OtherVariable self.other_variable = OtherVariable
Python 3는 명시적 가져오기를 시행하고 스타 가져오기를 제한함으로써 가져오기 명확성을 향상하고 네임스페이스 충돌을 줄이며 보다 구조화되고 유지 관리하기 쉬운 코드베이스를 촉진하는 것을 목표로 합니다.
위 내용은 PEP 404는 Python의 Import 문을 어떻게 변경했나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!