본문 바로가기

namespaces2

Python 파이썬에서 __all__은 무엇을 의미하는가요?, What does __all__ mean in Python? 질문 나는 __init__.py 파일에서 __all__을 본다. 이것은 무엇을 하는 것인가? 답변 여기서 명시적으로 언급되지는 않았지만, __all__이 사용되는 경우가 바로 이 때문입니다. 모듈의 기호가 언제 내보내지는지를 정의하는 문자열 목록입니다. 모듈에서 from import *가 사용될 때 내보낼 것입니다. 예를 들어, 다음 코드는 foo.py에서 bar와 baz 기호를 명시적으로 내보냅니다. __all__ = ['bar', 'baz'] waz = 5 bar = 10 def baz(): return 'baz' 그런 다음이러한 기호를 다음과 같이 가져올 수 있습니다. from foo import * print(bar) print(baz) # 다음은 모듈에서 내보내지 않은 "waz"로 인해 예외가 .. 2023. 5. 20.
Python __init__.py는 무엇을 위한 것인가요?, What is __init__.py for? 질문 파이썬 소스 디렉토리에서 __init__.py은 무엇을 위한 것인가요? 답변 이것은 이전 3.3 이전의 "일반 패키지"(old, pre-3.3 "regular package")에서 필수적인 부분이었지만, 3.3+ 이후의 "네임스페이스 패키지"(newer 3.3+ "namespace package")에서는 필수적이지 않습니다. 여기에 문서가 있습니다. 파이썬은 두 가지 유형의 패키지, 즉 일반 패키지와 네임스페이스 패키지를 정의합니다. 일반 패키지는 Python 3.2 이전의 전통적인 패키지입니다. 일반 패키지는 일반적으로 __init__.py 파일을 포함하는 디렉토리로 구현됩니다. 일반 패키지가 가져와질 때, 이 __init__.py 파일은 암시적으로 실행되며, 그것이 정의하는 객체는 패키지의 이름.. 2023. 5. 5.