Định nghĩa trong Python

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àm

cú 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ào

Câ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ộc

Thâ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ó gửi một điều khiển thực thi trở lại môi trường gọi. 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!
1

Ví dụ. Hàm do người dùng định nghĩa

Sao chép

def 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!
1

Ví dụ. Gọi hàm do người dùng định nghĩa

Sao chép

greet() 

đầ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ại

Ví dụ. Gọi hàm do người dùng định nghĩa

Sao chép

def 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ép

def 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 được

Ví dụ. Chức năng được tham số hóa

Sao chép

def 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ép

greet() 
1

Nhiề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ép

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
0

đầu ra

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
1

Số đố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ển

Ví dụ. Chức năng được tham số hóa

Sao chép

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
2

đầu ra

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
1

Hà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ép

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
4

đầu ra

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
5

Chứ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 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ụ: sau đây chuyển các giá trị bằng cách 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ép

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
8

đầu ra

def greet():
    """This function displays 'Hello World!'"""
    print('Hello World!')
9

Khi 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ép

greet() 
0

đầu ra

greet() 
1

Tham 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ép

greet() 
2

đầu ra

greet() 
3

Hà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