Ví dụ về hàm eval trong Python
Khái niệm hàm eval trong Python
Về mặt kỹ thuật, hàm eval là một hàm tích hợp sẵn trong Python và cho phép lập trình viên chạy code Python (được truyền dưới dạng tham số) ngay trong chương trình. Hàm eval phù hợp để sử dụng khi lập trình viên muốn đánh giá biểu thức toán học hoặc đánh giá chuỗi.
Cú pháp của hàm eval trong Python như sau:
eval(bieuthuc, global=None, local=None)
Hàm eval() có ba tham số:
- bieuthuc: có thể là bất kỳ biểu thức hợp lệ nào của Python
- global: một dictionary chỉ định các phương thức và biến global có sẵn.
- local: một dictionary chỉ định các phương thức và biến local có sẵn.
>>> Xem thêm: Regex trong Python -Tìm hiểu về biểu thức chính quy trong Python
Ví dụ về hàm eval trong Python
def drivingage(age):
if age>18:
print("yes")
else:
print("no")
age=int(input("age"))
drivingage(age)
Output
age 6
no
Đối số và tham số hàm eval trong Python
Các đối số hoặc tham số của hàm eval là STRING (tham số toàn cục và cục bộ có thể được sử dụng làm đối số bên trong hàm eval), nhưng toàn cục phải được biểu diễn dưới dạng từ điển và cục bộ dưới dạng đối tượng được ánh xạ (mapping).
Giá trị trả về từ hàm eval trong Python
Phương thức eval () trả về kết quả được đánh giá từ expression. Giá trị kết quả / trả về chủ yếu sẽ là số nguyên.
Ví dụ: Ví dụ 1: Cách eval () hoạt động trong Python
x = 1
print(eval('x + 1'))
Đầu ra
2
Ở đây, eval()hàm đánh giá biểu thức x + 1 và print được sử dụng để hiển thị giá trị này.
>>> Tham khảo: Khóa học lập trình Python
Khai thác Eval bằng Python
Có một hàm trong code hỗ trợ lập trình viên lấy lại các loại mật khẩu hoặc dữ liệu quan trọng khác có thể nghiêm trọng. Người dùng có thể gọi các hàm này thông qua eval trong Python và truy cập các dữ liệu quan trọng mà họ cần.
Hạn chế việc sử dụng các phương thức và biến có sẵn trong eval ()
Tất cả các phương pháp và biến có sẵn được sử dụng trong expression (tham số đầu tiên đến eval()) có thể không cần thiết, hoặc thậm chí có thể có lỗ hổng bảo mật. Bạn có thể cần phải hạn chế việc sử dụng các phương thức và biến này cho eval(). Bạn có thể làm như vậy bằng cách chuyển tùy chọn global và local cũng như tham số (từ điển) cho hàm eval().
1. Khi bỏ qua cả tham số global và local
Nếu cả hai tham số bị bỏ qua, biểu hiện được thực thi trong phạm vi hiện tại. Bạn có thể kiểm tra các biến và phương pháp có sẵn bằng cách sử dụng mã sau:
print(eval('dir()')
2. Truyền tham số global; tham số local bị bỏ qua
Các tham số global, local (từ điển) được sử dụng cho các biến toàn cục và cục bộ tương ứng. Nếu biến local bị bỏ qua, nó sẽ tự động chuyển qua biến global. Có nghĩa là biến globals sẽ được sử dụng cho cả biến local và global.
Lưu ý: Bạn có thể kiểm tra tham số cục bộ và toàn cục hiện tại trong Python bằng cách sử dụng các phương thức tích hợp sẵn tương ứng là global () và local () .
Kết luận: Trên đây là một số kiến thức về hàm eval trong Python cùng các ví dụ cụ thể. Hy vọng bạn có thể tận dụng các thông tin mà bài viết mang lại trong quá trình làm việc với Python. Tìm hiểu thêm là Python và các ngôn ngữ lập trình khác qua các khóa học lập trình tại T3H
Nguồn tham khảo: techvidvan, programiz