builtins — 내장 객체
builtins — 내장 객체
이 모듈은 파이썬의 모든 '빌트인' 식별자에 직접 접근을 제공해요. 예를 들어 builtins.open은 내장 함수 open()의 전체 이름이에요.
대부분의 애플리케이션은 이 모듈을 명시적으로 접근하지 않지만, 빌트인 값과 같은 이름의 객체를 제공하면서 동시에 그 이름의 빌트인도 필요한 모듈에서 유용해요. 예를 들어 내장 open()을 감싸는 open() 함수를 구현하고 싶은 모듈에서 이 모듈을 직접 쓸 수 있어요.
import builtins
def open(path):
f = builtins.open(path, 'r')
return UpperCaser(f)
class UpperCaser:
'''Wrapper around a file that converts output to uppercase.'''
def __init__(self, f):
self._f = f
def read(self, count=-1):
return self._f.read(count).upper()
# ...
구현 세부사항으로, 대부분의 모듈은 __builtins__라는 이름을 globals의 일부로 사용할 수 있게 해줘요. __builtins__의 값은 보통 이 모듈이거나 이 모듈의 __dict__ 속성의 값이에요. 이는 구현 세부사항이므로 파이썬의 다른 구현에서는 사용할 수 없을 수도 있어요.
참고: 빌트인 상수(Built-in Constants), 빌트인 예외(Built-in Exceptions), 빌트인 함수(Built-in Functions), 빌트인 타입(Built-in Types)에 대한 문서도 함께 보세요.
이 모듈을 활용하면 코드 어디서든 내장 이름에 명시적으로 접근할 수 있어서, 전역 네임스페이스를 덮어쓴 상황에서도 원래 동작을 안전하게 호출할 수 있어요.