Function là khối code được gọi bằng tên, nhận dữ liệu qua tham số (parameters), có thể trả về giá trị (return value).
Cú pháp cơ bản
def function_name(parameters):
# docstring (tùy chọn)
# body (indented block)
return value # tùy chọn
Ví dụ
def greet(name):
"""Chào hỏi người dùng."""
return f"Hello, {name}!"
print(greet("Alice")) # Hello, Alice!
Đặc điểm quan trọng
- Functions are objects: Hàm là first-class citizens. Có thuộc tính (
__name__,__doc__,__annotations__...), có thể gán thêm attribute. - Nested functions: Có thể định nghĩa hàm bên trong hàm (closure).
- Method: Function gắn với đối tượng (instance/class). Python không giới hạn method chỉ cho class.
Ví dụ function object attributes
def foo():
pass
foo.score = 20
print(type(foo)) #
print(foo.score) # 20
print(foo.__name__) # 'foo'
print(foo.__doc__) # None
Tóm tắt: def tạo function object. Python không phân biệt function/procedure - mọi hàm đều trả về giá trị (mặc định None).