Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thực thi chuỗi code trong Python với exec()

Đôi khi cần thực thi một khối code được lưu dưới dạng chuỗi (string). Python cung cấp hàm exec() cho mục đích này.

Cú pháp

exec(object, globals=None, locals=None)

Ví dụ: Thực thi block code từ string

code = """
numbers = [11, 33, 55, 39, 55, 75, 37, 21, 23, 41, 13]
for num in numbers:
    if num % 2 == 0:
        print('Danh sách chứa số chẵn')
        break
else:
    print('Danh sách không chứa số chẵn')
"""

exec(code)

Kết quả

Danh sách không chứa số chẵn

Lưu ý quan trọng

  • Code string phải thụt lề đúng (indentation)
  • Dùng triple quotes \"\"\" cho multi-line
  • exec() không trả về giá trị (trả về None)

Cảnh báo bảo mật ⚠️

Giống eval(), exec() cho phép thực thi code tùy ý. Không bao giờ exec() input từ người dùng không tin cậy.

Kết luận

exec() hữu ích cho code generation, plugin system, nhưng cần cực kỳ cẩn trọng về bảo mật.