Computer >> Máy Tính >  >> Lập trình >> Python

Đối tượng mã Python

Các đối tượng mã là một chi tiết cấp thấp của việc triển khai CPython. Mỗi mã đại diện cho một đoạn mã thực thi chưa được liên kết với một hàm. Mặc dù các đối tượng mã đại diện cho một số đoạn mã thực thi, nhưng bản thân chúng không thể được gọi trực tiếp. Để thực thi một đối tượng mã, bạn phải sử dụng từ khóa execute.

Trong ví dụ dưới đây, chúng ta thấy cách các đối tượng mã được tạo cho một đoạn mã nhất định và các thuộc tính khác nhau được liên kết với đối tượng mã mũ là gì.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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