Hàm Python

Hàm là một khối mã chỉ chạy khi được gọi.

Bạn có thể truyền dữ liệu (gọi là tham số) vào hàm.

Hàm có thể trả về dữ liệu dưới dạng kết quả.

tạo hàm

Trong Python, sử dụng def Định nghĩa từ khóa hàm:

Ví Dụ

def my_function():
  print("Hello from a function")

Gọi hàm

Để gọi hàm, hãy sử dụng tên hàm sau đó là dấu ngoặc kép:

Ví Dụ

def my_function():
  print("Hello from a function")
my_function()

Chạy Ví Dụ

Tham số

Thông tin có thể được truyền làm tham số cho hàm.

Tham số được chỉ định trong dấu ngoặc kép sau tên hàm. Bạn có thể thêm bất kỳ số lượng tham số nào cần thiết, chỉ cần phân cách bằng dấu phẩy.

Dưới đây là ví dụ về hàm có tham số (fname). Khi gọi hàm này, chúng ta truyền một tên và sử dụng nó trong hàm để in tên đầy đủ:

Ví Dụ

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

Chạy Ví Dụ

Giá trị tham số mặc định

Dưới đây là ví dụ về cách sử dụng giá trị tham số mặc định.

Nếu chúng ta gọi hàm không có tham số, thì sẽ sử dụng giá trị mặc định:

Ví Dụ

def my_function(country = "China"):
  print("Tôi đến từ " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Chạy Ví Dụ

Gửi tham số bằng List

Các tham số bạn gửi vào hàm có thể là bất kỳ loại dữ liệu nào (chuỗi, số, danh sách, từ điển, v.v.) và trong hàm chúng sẽ được coi là cùng loại dữ liệu.

Ví dụ, nếu bạn gửi List làm tham số, nó sẽ vẫn là List (danh sách) khi đến hàm:

Ví Dụ

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Chạy Ví Dụ

Giá trị trả về

Để làm cho hàm trả về giá trị, hãy sử dụng return Câu lệnh:

Ví Dụ

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Chạy Ví Dụ

Tham số từ khóa

Bạn cũng có thể sử dụng cú pháp key = value để gửi tham số.

Thứ tự của các tham số không quan trọng.

Ví Dụ

def my_function(child3, child2, child1):
  print("Trẻ nhỏ nhất là " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Chạy Ví Dụ

Trong tài liệu Python, từ khóa "tham số từ khóa" thường được gọi tắt là kwargs.

Tham số tự do

Nếu bạn không biết sẽ truyền vào hàm của bạn bao nhiêu tham số, hãy thêm * trước tên tham số trong định nghĩa hàm.

Như vậy, hàm sẽ nhận một tuýp tham số và có thể truy cập vào từng phần tử một cách tương ứng:

Ví Dụ

Nếu số lượng tham số không biết trước, hãy thêm * trước tên tham số:

def my_function(*kids):
  print("Trẻ nhỏ nhất là " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Chạy Ví Dụ

lệnh pass

Định nghĩa hàm không thể để trống, nhưng nếu bạn vì một lý do nào đó đã viết một định nghĩa hàm không có nội dung, hãy sử dụng lệnh pass để tránh lỗi.

Ví Dụ

def myfunction:
  pass

Chạy Ví Dụ

Lập trình tự động

Python cũng chấp nhận lập trình tự động, điều này có nghĩa là hàm được định nghĩa có thể gọi chính nó.

Lập trình tự động là một khái niệm phổ biến trong toán học và lập trình. Nó có nghĩa là hàm gọi chính nó. Lợi ích của việc làm như vậy là có thể lặp lại truy cập vào dữ liệu để đạt được kết quả.

Người phát triển nên cẩn thận khi sử dụng lập trình tự động, vì nó có thể dễ dàng viết một hàm không bao giờ kết thúc, hoặc sử dụng quá nhiều bộ nhớ hoặc khả năng xử lý. Nhưng sau khi được viết đúng, lập trình tự động có thể là một phương pháp lập trình rất hiệu quả và tinh tế về mặt toán học.

Trong ví dụ này:tri_recursion() Là hàm được định nghĩa là gọi chính nó ("recurse"). Chúng ta sử dụng biến k làm dữ liệu, giảm dần (-1) mỗi lần gọi lại. Khi điều kiện không lớn hơn 0 (ví dụ khi nó là 0), lập trình tự động kết thúc.

Đối với những người phát triển mới, có thể cần một thời gian để hiểu rõ nguyên lý hoạt động của nó, cách tốt nhất là kiểm tra và sửa đổi nó.

Ví Dụ

Ví Dụ Lập Trình Tự Động

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nKết Quả Ví Dụ Thực Hiện Lại")
tri_recursion(6)

Chạy Ví Dụ