कोड ऑब्जेक्ट CPython कार्यान्वयन का एक निम्न-स्तरीय विवरण है। प्रत्येक एक निष्पादन योग्य कोड के एक हिस्से का प्रतिनिधित्व करता है जो अभी तक किसी फ़ंक्शन में बाध्य नहीं हुआ है। हालांकि कोड ऑब्जेक्ट निष्पादन योग्य कोड के कुछ टुकड़े का प्रतिनिधित्व करते हैं, वे स्वयं, सीधे कॉल करने योग्य नहीं हैं। किसी कोड ऑब्जेक्ट को निष्पादित करने के लिए, आपको एक्ज़ीक्यूटिव कीवर्ड का उपयोग करना चाहिए।
नीचे दिए गए उदाहरण में हम देखते हैं कि किसी दिए गए कोड के लिए कोड ऑब्जेक्ट कैसे बनाए जाते हैं और हैट कोड ऑब्जेक्ट से जुड़े विभिन्न गुण क्या हैं।
उदाहरण
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' ()