Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 코드 객체

<시간/>

코드 객체는 CPython 구현의 저수준 세부 정보입니다. 각각은 아직 함수에 바인딩되지 않은 실행 코드 덩어리를 나타냅니다. 코드 개체는 실행 가능한 코드의 일부를 나타내지만 그 자체로 직접 호출할 수는 없습니다. 코드 개체를 실행하려면 exec 키워드를 사용해야 합니다.

아래 예제에서 코드 개체가 주어진 코드 조각에 대해 생성되는 방식과 모자 코드 개체와 관련된 다양한 속성이 무엇인지 볼 수 있습니다.

예시

code_str = """
print("Hello Code Objects")
"""
# Create the code object
code_obj = compile(code_str, '<string>', 'exec')
# get the code object
print(code_obj)
#Attributes of code object
print(dir(code_obj))
# The filename
print(code_obj.co_filename)
# The first chunk of raw bytecode
print(code_obj.co_code)
#The variable Names
print(code_obj.co_varnames)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

<code object <module> at 0x000001D80557EF50, file "<string>", line 2>
['__class__', '__delattr__', '__dir__', '__doc__', ……., '__subclasshook__', 'co_argcount', 'co_cellvars', 'co_code', 'co_consts', 'co_filename', 'co_firstlineno', …..,posonlyargcount', 'co_stacksize', 'co_varnames', 'replace']
<string>
b'e\x00d\x00\x83\x01\x01\x00d\x01S\x00'
()