Hàm trong Python

Python SELF VI
Mức độ , Bài học
Có sẵn

7.1 Tạo hàm

Trong Python, việc tạo hàm là một phần cơ bản của lập trình, giúp cho mã nguồn trở nên linh hoạt, có thể tái sử dụng và dễ đọc hơn. Hàm trong Python được định nghĩa bằng từ khóa def, theo sau là tên hàm và dấu ngoặc tròn với các tham số.

Bạn có thể luôn nghĩ về hàm như là một tập hợp các lệnh đã được gộp thành một nhóm và đặt tên cho nhóm đó. Cách khai báo hàm chung có dạng như sau:


def tên_hàm(tham_số):
    lệnh1
    lệnh2
    lệnhN

Một hàm đơn giản trong Python có thể trông như thế này:


def greet():
    print("Hello, World!")

Gọi hàm được thực hiện bằng cách viết tên hàm với dấu ngoặc tròn:


greet()  # Sẽ in ra: Hello, World!

Gọi hàm tương đương với việc viết mã nội dung hàm tại nơi gọi. Thay vì viết đi viết lại mã giống nhau, bạn có thể tách nó thành các khối riêng biệt và đặt tên cho chúng.

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

Làm việc với hàm sẽ không thú vị nếu chúng luôn làm cùng một việc — chỉ là một khối lệnh được đặt tên và vậy thôi. Thay vào đó, tham số được phát minh ra — các biến mà qua đó bạn có thể truyền các giá trị khác nhau vào hàm.

Các biến bên trong hàm được gọi là tham số của hàm. Còn giá trị mà bạn truyền vào khi gọi hàm là tham số của hàm. Tham số của hàm chỉ đơn giản nhận giá trị của các tham số.


def greet(name):
    print("Hello,", name)
        
greet("Alice")  # Sẽ in ra: Hello, Alice!

Ví dụ về hàm với hai tham số:


def print_sum(a, b):
    print(f"Tổng của {a} và {b} là {a + b}")
        
print_sum(10, 15)  # Sẽ in ra: Tổng của 10 và 15 là 25

Và tất nhiên, bạn có thể truyền các biểu thức đầy đủ vào như tham số:


def print_sum(a, b):
    print(f"Tổng của {a} và {b} là {a + b}")
        
print_sum(10*10-123, 15//2)  # Sẽ in ra: Tổng của -23 và 7 là -16

Hữu ích! Dành cho những người yêu thích C/C++ — tất cả các biến trong Python — đều là tham chiếu từ góc nhìn của C++. Các tham số của hàm cũng vậy. Khi gán giá trị không bao giờ được sao chép hoặc nhân đôi – luôn chỉ gán tham chiếu.

7.3 Hàm — là đối tượng

Trong Python, hàm là đối tượng hạng nhất, có nghĩa là chúng có thể được sử dụng như bất kỳ đối tượng nào khác. Điều này mang lại cho các nhà phát triển một công cụ mạnh mẽ để tạo ra các giải pháp phần mềm linh hoạt.

Hàm như đối tượng

Là đối tượng hạng nhất, hàm trong Python có thể:

  • Được gán cho một biến
  • Truyền như tham số cho các hàm khác
  • Trả về từ các hàm khác
  • Đưa vào các cấu trúc dữ liệu như danh sách, từ điển

Ví dụ:


def shout(text):
    return text.upper()
        
yell = shout
        
def greet(func):
    greeting = func("Hello")  # gọi hàm
    print(greeting)
        
greet(shout)

Trong tương lai, chúng ta còn sẽ nói về chủ đề này nhiều lần, còn bây giờ hãy nhớ rằng — mọi thứ trong Python đều là đối tượng. Hàm, lớp, lỗi, danh sách, module — tất cả đều là đối tượng.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION