×

Truyền tham số và giá trị trả về từ hàm trong Python

Trong lập trình Python, một trong những khái niệm cơ bản mà mọi lập trình viên cần nắm vững là làm việc với hàm (function). Hàm đóng vai trò quan trọng trong việc tổ chức mã nguồn thành các khối nhỏ gọn, dễ quản lý và tái sử dụng. Hai khái niệm quan trọng liên quan đến hàm là truyền tham số và giá trị trả về.

Truyền tham số vào hàm

Khi định nghĩa một hàm, chúng ta có thể chỉ định các tham số để hàm có thể nhận giá trị từ bên ngoài. Tham số là các biến được liệt kê trong định nghĩa hàm. Khi bạn gọi hàm, bạn có thể truyền các giá trị thực tế vào các tham số này.

Ví dụ dưới đây minh họa cách định nghĩa và gọi một hàm với tham số:

def greet(name):
    print(f"Hello, {name}!")

greet("Alice")

Trong ví dụ này, hàm greet nhận một tham số là name. Khi gọi hàm greet("Alice"), giá trị "Alice" được truyền vào biến name, và kết quả là chuỗi "Hello, Alice!" được in ra.

Nhiều tham số

Bạn có thể định nghĩa hàm nhận nhiều tham số bằng cách liệt kê chúng trong dấu ngoặc đơn, dùng dấu phẩy để phân cách:

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # Output: 8

Tham số mặc định

Python cho phép bạn chỉ định giá trị mặc định cho các tham số. Nếu không truyền giá trị cho tham số này khi gọi hàm, giá trị mặc định sẽ được sử dụng:

def greet(name="Guest"):
    print(f"Hello, {name}!")

greet()       # Output: Hello, Guest!
greet("Bob")  # Output: Hello, Bob!

Truyền tham số bằng từ khóa

Bạn có thể truyền tham số tới hàm bằng từ khóa, cho phép bạn xác định cụ thể tham số nào nhận giá trị nào:

def describe_pet(pet_name, animal_type="dog"):
    print(f"I have a {animal_type} named {pet_name}.")

describe_pet(pet_name="Willie")            # Output: I have a dog named Willie.
describe_pet(pet_name="Harry", animal_type="hamster")  # Output: I have a hamster named Harry.

Giá trị trả về từ hàm

Hàm có thể trả về giá trị bằng cách sử dụng từ khóa return. Khi hàm gặp từ khóa này, nó ngừng thực thi và trả về giá trị đi kèm với return:

def square(x):
    return x * x

result = square(4)
print(result)  # Output: 16

Hàm có thể trả về bất kỳ kiểu dữ liệu nào, bao gồm số, chuỗi, danh sách, từ điển, và thậm chí là các đối tượng phức tạp hơn.

Trả về nhiều giá trị

Python cho phép hàm trả về nhiều giá trị cùng lúc. Các giá trị này thường được trả về dưới dạng tuple:

def get_coordinates():
    return 10, 20

x, y = get_coordinates()
print(f"x: {x}, y: {y}")  # Output: x: 10, y: 20

Kết luận

Việc truyền tham số và giá trị trả về từ hàm là những khái niệm cơ bản nhưng cực kỳ quan trọng trong lập trình Python. Nắm vững chúng sẽ giúp bạn viết mã nguồn hiệu quả hơn, dễ đọc hơn và dễ duy trì hơn. Nỗ lực làm chủ các kỹ thuật này sẽ mang lại nhiều lợi ích trong việc phát triển phần mềm và giải quyết các vấn đề thực tế.

Comments