https://docs.python.org/3/tutorial/modules.html#modules

namespaces

locals()는 변수뿐 아니라 로컬에서 정의된 함수, 클래스, import로 가져온 모듈 이름 등이 보입니다.

모듈이란
긴 코드나 재사용하고 싶은 함수를 저장해두는 방법이다.

모듈을 임포트 하면 임포트한 모듈이 실행되는 것과 같이 메모리에 올라오는데

__name__ 값이 다름.
직접 python module.py로 실행하면 __name__ "__main__" import module로 로드하면 __name__ “module”이라서
if __name__ == “__main__”: 블록은 import 시 실행되지 않는다.

중요한 것은 __name__ 은 모듈의 이름을 따라간다. sample.py 면, sample

캐싱
한번 import된 모듈은 sys.modules에 저장되어 같은 세션에서 다시 import해도 최상단 코드가 재실행되지 않는다.
직접 실행은 매번 새 프로세스라 다시 돈다.

파일의 이름이 파이썬에서 import 할때 사용되는 네임스페이스가 되고 그 모듈 안에 있는 함수나 클래스는 네임스페이스를 먼저 접근하고 지정해서 사용한다.

import 동작: import fibo 하면 현재 네임스페이스에 fibo라는 모듈 이름만 들어온다. 함수 이름이 바로 풀리지 않는다.

from … import …는 모듈/패키지 안의 특정 이름을 바로 현재 네임스페이스로 끌어오는 구문

← python 3.14으로