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'
()