Python bao gồm nhiều chức năng tích hợp. Các chức năng này thực hiện một nhiệm vụ được xác định trước và có thể được gọi trong bất kỳ chương trình nào, theo yêu cầu. Tuy nhiên, nếu bạn không tìm thấy hàm tích hợp phù hợp để phục vụ mục đích của mình, bạn có thể xác định một hàm. Bây giờ chúng ta sẽ xem cách định nghĩa và sử dụng một hàm trong chương trình Python
Xác định một chức năng
Hàm là một khối các câu lệnh lập trình có thể tái sử dụng được thiết kế để thực hiện một tác vụ nhất định. Để định nghĩa một hàm, Python cung cấp từ khóa
greet[]
7. Sau đây là cú pháp định nghĩa một hàmcú pháp
def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]
Từ khóa
greet[]
7 được theo sau bởi một định danh phù hợp như tên của hàm và dấu ngoặc đơn. Một hoặc nhiều tham số có thể được đề cập tùy chọn bên trong dấu ngoặc đơn. Ký hiệu greet[]
9 sau dấu ngoặc đơn bắt đầu một khối thụt vàoCâu lệnh đầu tiên trong thân hàm có thể là một chuỗi, được gọi là
Hello World!
0. Nó giải thích chức năng của hàm/lớp. Chuỗi tài liệu là không bắt buộcThân hàm chứa một hoặc nhiều câu lệnh thực hiện một số hành động. Nó cũng có thể sử dụng từ khóa pass
Tùy chọn, câu lệnh cuối cùng trong khối chức năng là câu lệnh trả về. Nó sẽ gửi một điều khiển thực thi trở lại để gọi môi trường. Nếu một biểu thức được thêm vào trước return, giá trị của nó cũng được trả về mã gọi
Ví dụ sau định nghĩa hàm
Hello World!
1Ví dụ. Hàm do người dùng định nghĩa
Sao chépdef greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
Ở trên, chúng ta đã định nghĩa hàm
Hello World!
1. Câu lệnh đầu tiên là một chuỗi tài liệu đề cập chức năng này làm gì. Lượt thích thứ hai là một phương thức in hiển thị chuỗi đã chỉ định ra bàn điều khiển. Lưu ý rằng nó không có câu lệnh returnĐể gọi một hàm đã xác định, chỉ cần sử dụng tên của nó như một câu lệnh ở bất kỳ đâu trong mã. Ví dụ, hàm trên có thể được gọi bằng dấu ngoặc đơn,
Hello World!
1Ví dụ. Gọi hàm do người dùng định nghĩa
Sao chépgreet[]
đầu ra
Hello World!
Theo mặc định, tất cả các hàm trả về
Hello World!
4 nếu câu lệnh trả về không tồn tạiVí dụ. Gọi hàm do người dùng định nghĩa
Sao chépdef function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]2
đầu ra
def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]3
Hàm help[] hiển thị chuỗi tài liệu, như hình bên dưới
Ví dụ. Gọi hàm do người dùng định nghĩa
Sao chépdef function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]4
Thông số chức năng
Có thể định nghĩa hàm nhận một hoặc nhiều tham số [còn gọi là đối số] và sử dụng chúng để xử lý bên trong khối hàm. Các tham số/đối số có thể được đặt tên chính thức phù hợp. Hàm
Hello World!
1 hiện được xác định để nhận tham số chuỗi có tên là Hello World!
6. Bên trong hàm, câu lệnh Hello World!
7 được sửa đổi để hiển thị thông báo lời chào gửi đến tham số nhận đượcVí dụ. Chức năng được tham số hóa
Sao chépdef function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]8
đầu ra
def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]9
Tên của các đối số được sử dụng trong định nghĩa của hàm được gọi là các đối số/tham số chính thức. Các đối tượng thực sự được sử dụng trong khi gọi hàm được gọi là đối số/tham số thực tế
Các tham số hàm có thể có chú thích để chỉ định loại tham số bằng cú pháp
Hello World!
8. Ví dụ, sau đây chú thích chuỗi loại tham sốVí dụ. Chức năng được tham số hóa
Sao chépgreet[]
1Nhiều thông số
Một hàm có thể có nhiều tham số. Hàm sau có ba đối số
Ví dụ. Chức năng được tham số hóa
Sao chépdef greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
0đầu ra
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
1Số đối số không xác định
Một hàm trong Python có thể có số lượng đối số không xác định bằng cách đặt
Hello World!
9 trước tham số nếu bạn không biết số lượng đối số mà người dùng sẽ chuyểnVí dụ. Chức năng được tham số hóa
Sao chépdef greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
2đầu ra
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
1Hàm sau hoạt động với bất kỳ số lượng đối số nào
Ví dụ. Chức năng được tham số hóa
Sao chépdef greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
4đầu ra
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
5Chức năng với các đối số từ khóa
Để gọi một hàm có đối số, phải cung cấp cùng một số lượng đối số thực tế. Tuy nhiên, một hàm có thể được gọi bằng cách chuyển các giá trị tham số bằng cách sử dụng tên tham số theo thứ tự bất kỳ. Ví dụ: các giá trị sau chuyển qua sử dụng tên tham số
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
6đầu ra
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
7Đối số từ khóa **kwarg
Hàm có thể có một tham số duy nhất có tiền tố là
def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]20. Loại tham số này được khởi tạo thành ánh xạ có thứ tự mới nhận bất kỳ đối số từ khóa thừa nào, mặc định thành ánh xạ trống mới cùng loại
Ví dụ. Chức năng được tham số hóa
Sao chépdef greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
8đầu ra
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
9Khi sử dụng tham số
def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]20, thứ tự của các đối số không thành vấn đề. Tuy nhiên, tên của các đối số phải giống nhau. Truy cập giá trị của các đối số từ khóa bằng cách sử dụng
def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]22
Nếu hàm truy cập đối số từ khóa nhưng mã gọi không vượt qua đối số từ khóa đó, thì nó sẽ đưa ra ngoại lệ
def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]23, như minh họa bên dưới
Ví dụ. Chức năng được tham số hóa
Sao chépgreet[]
0đầu ra
greet[]
1Tham số có giá trị mặc định
Trong khi định nghĩa một hàm, các tham số của nó có thể được gán giá trị mặc định. Giá trị mặc định này được thay thế nếu một đối số thực thích hợp được chuyển khi hàm được gọi. Tuy nhiên, nếu đối số thực tế không được cung cấp, thì giá trị mặc định sẽ được sử dụng bên trong hàm
Hàm
Hello World!
1 sau đây được định nghĩa với tham số Hello World!
6 có giá trị mặc định là def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]26. Nó sẽ chỉ được thay thế nếu một số đối số thực tế được thông qua
Ví dụ. Tham số có giá trị mặc định
Sao chépgreet[]
2đầu ra
greet[]
3Hàm có giá trị trả về
Hầu hết thời gian, chúng ta cần kết quả của hàm để sử dụng trong các quy trình tiếp theo. Do đó, khi một hàm trả về, nó cũng sẽ trả về một giá trị
Một hàm do người dùng định nghĩa cũng có thể được thực hiện để trả về một giá trị cho môi trường gọi bằng cách đặt một biểu thức trước câu lệnh return. Trong trường hợp này, giá trị trả về phải được gán cho một số biến