Hàm compile() trong Python
Hàm compile() trả về một đối tượng mã trong Python từ nguồn được chỉ định, có thể là một chuỗi bình thường, chuỗi byte hoặc đối tượng AST. Cú pháp của hàm compile() như thế nào, nó có những tham số gì và cách sử dụng ra sao? Mời bạn đọc theo dõi.
Cú pháp hàm compile() trong Python
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
Hàm compile() sử dụng khi code Python của bạn đang ở dạng chuỗi hoặc AST và bạn muốn chuyển nó về một mã đối tượng.
Mã đối tượng được chuyển đổi bằng compile() sẽ được chương trình gọi ra bằng hàm exec() and eval()
Các tham số của hàm compile()
- source: nguồn bạn muốn chuyển đổi, thường ở dạng chuỗi, đối tượng byte hoặc đối tượng AST.
- filename: tên tệp chứa source. Nếu nguồn không thuộc file nào, bạn có thể tự đặt tên ở đây.
- mode: gồm các giá trị sau:
- eval - nếu nguồn là một biểu thức.
- exec - nếu nguồn là một khối các câu lệnh, lớp, hàm.
- single - nếu nguồn là một câu lệnh tương tác.
- flags: kiểm soát các câu lệnh gây ảnh hưởng đến việc biên dịch nguồn, mặc định là 0. Tham số này không bắt buộc.
- dont_inherit: kiểm soát các câu lệnh gây ảnh hưởng đến việc biên dịch nguồn, mặc định là False. Tham số này không bắt buộc.
- optimize: xác định mức tối ưu hóa của trình biên dịch, mặc định là -1. Tham số này không bắt buộc.
Giá trị trả về từ compile()
Hàm compile() trả về một đối tượng mã trong Python.
Ví dụ: Hàm compile() hoạt động thế nào?
Theo dõi ví dụ sau:
codeInString = 'a = 5\nb=6\nsum=a+b\nprint("sum =",sum)'
codeObejct = compile(codeInString, 'sumstring', 'exec')
exec(codeObejct)
Chạy chương trình, kết quả trả về là:
sum = 11
Trong ví dụ ở trên, source ở đây là một chuỗi bình thường, filename là sumstring, mode là exec để sau khi chuyển đổi bạn có thể sử dụng hàm exec() gọi ra đối tượng mã kết quả.
Bạn có thể xem danh sách các hàm Python được tích hợp sẵn và đừng quên làm bài tập Python để củng cố thêm kiến thức nhé.
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:


Cũ vẫn chất
-
Cách sao chép hoặc tạo bản sao toàn bộ trang tính trong Google Sheets
Hôm qua -
Các cách làm, tùy chỉnh trong bài sẽ giúp tăng tốc Windows 10 của bạn "nhanh như gió"
Hôm qua 6 -
Cách chặn từ khóa và Hashtag trên Twitter
Hôm qua -
Dynamic System Updates là gì?
Hôm qua -
Cách sửa lỗi không thấy bộ điều hợp mạng trên Windows 10
Hôm qua -
Cách dùng Terabox lưu trữ với 1TB miễn phí
Hôm qua 5 -
Sạc không dây là gì? Nó nhanh hơn hay chậm hơn sạc dây? Danh sách smartphone Android hỗ trợ sạc không dây
Hôm qua -
Hàm COUNTIFS, cách dùng hàm đếm ô theo nhiều điều kiện trong Excel
Hôm qua -
Valentine đen là gì? Valentine đen là ngày nào?
Hôm qua -
4 cách kiểm tra lịch sử giao dịch BIDV trên điện thoại, máy tính
Hôm qua