Hàm - Functions

Hàm trong Python

Trong lập trình, hàm (function) là một khối mã thực hiện một tác vụ cụ thể và được thiết kế để có thể được gọi từ nhiều nơi khác nhau trong chương trình. Hàm thường nhận đầu vào (thông qua các tham số), thực hiện các xử lý trên đầu vào đó, và trả về một kết quả (hoặc không trả về gì nếu hàm không cần trả về kết quả).

Hàm giúp chương trình trở nên dễ đọc, dễ bảo trì và có tính tái sử dụng cao. Thay vì phải sao chép lại cùng một đoạn mã nhiều lần trong chương trình, ta có thể tạo ra một hàm để tái sử dụng cho các tác vụ tương tự. Hàm cũng giúp tách biệt các phần khác nhau của chương trình và giúp quản lý mã nguồn của chương trình dễ dàng hơn.

Định nghĩa một Hàm

Cú pháp để khai báo hàm trong Python như sau:

Cú pháp

def function_name(param1, param2, ...):
    # code here
    return result # (nếu cần)

Trong đó function_name là tên của hàm, param1, param2,… là các tham số đầu vào của hàm (có thể không có), và result là giá trị trả về của hàm (nếu có).

Để gọi hàm và sử dụng kết quả trả về, ta dùng cú pháp sau:

result = function_name(param1, param2, ...)

Ví dụ:

def calculate_sum(a, b):
    """
    Tính tổng của hai số.

    Args:
        a (int): Số nguyên đầu tiên.
        b (int): Số nguyên thứ hai.

    Returns:
        Tổng của hai số a và b.
    """
    return a + b

print(calculate_sum(2, 3)) # Đây là lời gọi hàm, và kết quả trả về là 5
x = calculate_sum(4, 5) # Đây là lời gọi hàm, và kết quả trả về là 9
print(x) # 9

Phần nằm giữa hai dấu """ được gọi là docstring, nó là một chuỗi được sử dụng để mô tả hàm. Docstring có thể được sử dụng để tự động tạo ra tài liệu cho hàm. Docstring có thể được truy cập thông qua thuộc tính __doc__ của hàm và được sử dụng bởi các công cụ như Sphinx để tự động tạo ra các hướng dẫn sử dụng cho hàm. Việc sử dụng docstring là một công cụ rất hữu ích để giúp người khác hiểu được hàm của bạn làm gì và cách sử dụng nó.

Tuỳ thuộc vào việc hàm có trả về giá trị hay là không mà hàm sẽ được phân thành 2 loại và cách sử dụng cũng khác nhau:

Dưới đây là một số ví dụ về hàm có trả về giá trị trong Python:

Hàm tính tổng của hai số:

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

# Gọi hàm và in kết quả trả về
print(sum_numbers(2, 3)) # 5

Hàm tính lũy thừa của một số:

def power(base, exponent):
    result = 1
    for i in range(exponent):
        result *= base
    return result

print(power(2, 3)) # 8

Hàm tính tổng của một list:

def sum_list(numbers):
    total = 0
    for number in numbers:
        total += number
    return total
    
print(sum_list([1, 2, 3, 4, 5])) # 15

Hàm đổi đơn vị nhiệt độ từ độ C sang độ F:

def celsius_to_fahrenheit(celsius):
    return (celsius * 1.8) + 32

print(celsius_to_fahrenheit(0)) # 32.0

Hàm đếm số lượng ký tự trong một chuỗi:

def count_characters(string):
    count = 0
    for character in string:
        count += 1
    return count

print(count_characters("Hello")) # 5

Đây là một số ví dụ khác về hàm không trả về giá trị trong Python:

Hàm tính toán và in ra kết quả của phép cộng:

def add_numbers(a, b):
    result = a + b
    print(f"The sum of {a} and {b} is {result}")

add_numbers(2, 3) # The sum of 2 and 3 is 5

Hàm kiểm tra xem một số có phải là số chẵn hay không:

def is_even(number):
    if number % 2 == 0:
        print(f"{number} is even")
    else:
        print(f"{number} is odd")

is_even(4) # 4 is even

Hàm hiển thị menu cho người dùng chọn:

def show_menu():
    print("1. Add")
    print("2. Subtract")
    print("3. Multiply")
    print("4. Divide")

show_menu() 

Trong các ví dụ này, các hàm đều không trả về giá trị nào mà chỉ thực hiện một số hành động như in ra kết quả tính toán hoặc hiển thị menu cho người dùng chọn.

Bình luận