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 yêu cầu 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 một chức năng 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 chức năng. Bây giờ chúng ta sẽ xem cách xác định và sử dụng một chức năng trong chương trình Python.
Xác định một chức năng
Một chức năng là một khối có thể tái sử dụng của các câu lệnh lập trình được thiết kế để thực hiện một nhiệm vụ nhất định. Để xác định một hàm, Python cung cấp từ khóa
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
9. Sau đây là cú pháp xác định hàm.def function_name[parameters]: """docstring""" statement1 statement2 ... ... return [expr]
Từ khóa
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
9 được theo sau bởi một định danh phù hợp là 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. Biểu tượng >>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
1 sau khi dấu ngoặc đơn bắt đầu một khối thụt lề.Câu lệnh đầu tiên trong cơ thể hàm có thể là một chuỗi, được gọi là
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
2. Nó giải thích chức năng của chức năng/lớp. DocString không bắt buộc.Cơ quan chức năng 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 hàm là câu lệnh trả về. Nó gửi một kiểm soát 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ả lại cho mã gọi.
Ví dụ sau đây xác định hàm
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
3.def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
Ở trên, chúng tôi đã xác định hàm
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
3. Tuyên bố đầu tiên là một tài liệu đề cập đến những gì chức năng này làm. Thứ hai giống như một phương thức in hiển thị chuỗi được chỉ định cho bảng điều khiển. Lưu ý rằng nó không có câu lệnh trả lại.Để gọi một hàm được xác định, chỉ cần sử dụng tên của nó như một câu lệnh ở bất cứ đâu trong mã. Ví dụ, hàm trên có thể được gọi bằng cách sử dụng dấu ngoặc đơn,
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
3.Theo mặc định, tất cả các chức năng trả về
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
6 nếu câu lệnh trả về không tồn tại.Hàm Trợ giúp [] hiển thị DocString, như được hiển thị bên dưới.
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
Tham số chức năng
Có thể xác định một hàm để nhận một hoặc nhiều tham số [còn được gọi là đối số] và sử dụng chúng để xử lý bên trong khối chức năng. Tham số/đối số có thể được đặt tên chính thức phù hợp. Hàm
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
3 hiện được xác định để nhận tham số chuỗi có tên là >>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
8. Bên trong hàm, câu lệnh >>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
9 được sửa đổi để hiển thị thông báo chào được gửi đến tham số nhận được.def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
Tên của các đối số được sử dụng trong định nghĩa của hàm được gọi là đố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ố chức năng có thể có chú thích để chỉ định loại tham số bằng cú pháp
def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
0. Ví dụ: sau đây chú thích chuỗi loại tham số.def greet[name:str]:
print ['Hello ', name]
greet['Steve'] # calling function with string argument
greet[123] # raise an error for int argument
Nhiều tham số
Một hàm có thể có nhiều tham số. Các chức năng sau đây có ba đối số.
def greet[name1, name2, name3]:
print ['Hello ', name1, ' , ', name2 , ', and ', name3]
greet['Steve', 'Bill', 'Yash'] # calling function with string argument
Hello Steve, Bill, and Yash
Số lượng đối số không xác định
Một chức năng trong Python có thể có số lượng đối số không xác định bằng cách đặt
def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
1 trước tham số nếu bạn không biết số lượng đối số mà người dùng sẽ vượt qua.def greet[*names]:
print ['Hello ', names[0], ', ', names[1], ', ', names[3]]
greet['Steve', 'Bill', 'Yash']
Hello Steve, Bill, and Yash
Các chức năng sau đây hoạt động với bất kỳ số lượng đối số.
def greet[*names]:
i=0
print['Hello ', end='']
while len[names] > i:
print[names[i], end=', ']
i+=1
greet['Steve', 'Bill', 'Yash']
greet['Steve', 'Bill', 'Yash', 'Kapil', 'John', 'Amir']
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
0Chức năng với các đối số từ khóa
Để gọi một hàm với các đối số, cùng số lượng đối số thực tế phải được cung cấp. Tuy nhiên, một hàm có thể được gọi bằng cách truyền các giá trị tham số bằng cách sử dụng tên tham số theo bất kỳ thứ tự nào. Ví dụ: các giá trị truyền sau đây bằng cách sử dụng tên tham số.
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
1Đối số từ khóa ** kwarg
Hàm có thể có một tham số duy nhất có tiền tố với
def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
2. Loại tham số này được khởi tạo thành một ánh xạ được đặt hàng mới nhận được bất kỳ đối số từ khóa dư thừa nào, mặc định đến một ánh xạ trống mới cùng loại.def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
2def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
3Khi sử dụng tham số
def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
2, thứ tự đối số không quan trọng. 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 def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
4.Nếu hàm truy cập đối số từ khóa nhưng mã gọi không truyền đối số từ khóa đó, thì nó sẽ tăng ngoại lệ
def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
5, như được hiển thị bên dưới.def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
4def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
5Tham số có giá trị mặc định
Trong khi xác định một hàm, các tham số của nó có thể được gán các giá trị mặc định. Giá trị mặc định này được thay thế nếu một đối số thực tế thích hợp được truyền khi hàm được gọi. Tuy nhiên, nếu đối số thực tế không được cung cấp, giá trị mặc định sẽ được sử dụng bên trong hàm.
Hàm
>>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
3 sau đây được xác định với tham số >>> help[greet]
Help on function greet in module __main__:
greet[]
This function displays 'Hello World!'
8 có giá trị mặc định def greet[name]:
print ['Hello ', name]
greet['Steve'] # calling function with argument
greet[123]
8. Nó sẽ chỉ được thay thế nếu một số đối số thực tế được thông qua.def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
6Chức năng có giá trị trả về
Hầu hết thời gian, chúng ta cần kết quả của chức năng được sử dụng trong các quy trình tiếp theo. Do đó, khi một hàm trở lại, 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ả lại 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 trả về. Trong trường hợp này, giá trị trả về phải được gán cho một số biến.
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
7Hàm trên có thể được gọi và cung cấp giá trị, như hình dưới đây.
def greet[]:
"""This function displays 'Hello World!'"""
print['Hello World!']
8