"import *"가 가져오기는 무엇입니까?
파이썬에서 "import *"는 지정된 모듈의 모든 것을 현재 모듈로 가져옵니다. 이렇게 하면 모듈 이름 앞에 접두사를 붙이지 않고도 가져온 개체에 직접 액세스할 수 있습니다.
예:
>>> from math import * >>> pi 3.141592653589793 >>> sin(pi/2) 1.0
이름 충돌 웹에 걸렸습니다
그러나 "*"를 사용하여 "모든 것"을 가져오는 것은 기존 변수 또는 함수와 네임스페이스 충돌을 일으킬 수 있으므로 권장되지 않습니다. 또한, 상당수의 개체를 가져오는 경우 비효율적일 수 있습니다.
명시적으로 가져오기 vs. "*"를 사용하여 가져오기
명시적으로 가져오기만 하는 것이 바람직합니다. 필요한 객체:
>>> from math import pi >>> pi 3.141592653589793 >>> sin(pi/2) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'sin' is not defined
또는 모듈을 자체 네임스페이스로 가져올 수도 있습니다. 별칭:
>>> import math >>> math.pi 3.141592653589793 >>> import math as m >>> m.pi 3.141592653589793
"* 가져오기"에 대한 예외
어떤 경우에는 ""을 사용하여 모든 항목을 가져오는 것이 적절할 수 있습니다. 예를 들어, 일부 라이브러리는 ""을 사용하여 가져오도록 특별히 설계된 하위 모듈을 제공하며 일반적으로 사용되는 상수와 함수를 포함합니다.
"* 가져오기" 메커니즘 살펴보기
"import *"를 사용하면 다음 개체를 가져옵니다.
서브 모듈의 미묘함
일반적인 인식과 달리 "from xyz import "는 하위 모듈을 가져오지 않습니다. 하위 모듈은 별도로 명시적으로 가져와야 합니다. "urllib.request import 에서".
위 내용은 'import *'는 실제로 Python에서 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!