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

Các hàm Python có phải là các đối tượng không?

Python tạo các đối tượng hàm cho bạn khi bạn sử dụng câu lệnh def hoặc khi bạn sử dụng biểu thức lambda:

Chúng ta có thể gán các thuộc tính cho đối tượng hàm và truy xuất chúng như sau

Ví dụ

def foo(): pass
foo.score = 20
print(type(foo))
print(foo.score)
print(type(lambda x:x))

Đầu ra

Chúng tôi nhận được kết quả sau

C:/Users/TutorialsPoint1/~.py
<type 'function'>
20
<type 'function'>

Có, các hàm python là các đối tượng đầy đủ. Chúng có thể có các thuộc tính và phương thức như các đối tượng. Các hàm có thể có các biến dữ liệu và thậm chí các hàm được viết bên trong chúng.