Từ khóa def trong Python được sử dụng để định nghĩa một hàm, nó được đặt trước tên hàm do người dùng cung cấp để tạo hàm do người dùng định nghĩa. Trong python, một hàm là một đơn vị mã logic chứa một chuỗi các câu lệnh được thụt vào dưới một tên được đặt bằng từ khóa “def”. Trong python từ khóa def là từ khóa được sử dụng nhiều nhất
cú pháp
def function_name: function definition statements...
Sử dụng từ khóa def
- Trong trường hợp của các lớp, từ khóa def được sử dụng để xác định các phương thức của một lớp
- từ khóa def cũng được yêu cầu để xác định chức năng thành viên đặc biệt của một lớp như __init__[]
Ứng dụng thực tế có thể có là nó cung cấp tính năng tái sử dụng mã thay vì viết đi viết lại đoạn mã, chúng ta có thể định nghĩa một hàm và viết mã bên trong hàm với sự trợ giúp của từ khóa def. Nó sẽ rõ ràng hơn trong ví dụ minh họa được đưa ra dưới đây. Có thể có nhiều ứng dụng của def tùy thuộc vào trường hợp sử dụng.
ví dụ 1. Sử dụng từ khóa def
Trong ví dụ này, chúng ta sẽ tạo một người dùng định nghĩa một hàm bằng từ khóa def
Python3
# Python3 code to demonstrate
# def keyword
# function for subtraction of 2 numbers.
def
subNumbers[x, y]:
subtraction of 90 and 50 is = 400
subtraction of 90 and 50 is = 401
subtraction of 90 and 50 is = 402
subtraction of 90 and 50 is = 403
subtraction of 90 and 50 is = 404
subtraction of 90 and 50 is = 405_______1_______6
subtraction of 90 and 50 is = 407
subtraction of 90 and 50 is = 408
subtraction of 90 and 50 is = 406
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 230
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 231
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 232_______1_______6
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 234
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 235
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 236_______11_______7
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 238
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 239
The factorial of 6 is 7200
The factorial of 6 is 7201
The factorial of 6 is 7202
The factorial of 6 is 7203
đầu ra
subtraction of 90 and 50 is = 40
ví dụ 2. Người dùng định nghĩa một hàm với 10 số nguyên tố đầu tiên.
Python3
The factorial of 6 is 7204
The factorial of 6 is 7205
The factorial of 6 is 7206
The factorial of 6 is 7207
def
The factorial of 6 is 7209
# Python3 code to demonstrate
1_______1_______6 # Python3 code to demonstrate
3
# Python3 code to demonstrate
5_______1_______6 # Python3 code to demonstrate
7
# Python3 code to demonstrate
9 # def keyword
0
# def keyword
1# def keyword
2 # def keyword
3_______56_______4 # def keyword
5
First 10 prime numbers are: 1 2 3 5 7 11 13 17 19 237
# def keyword
7# def keyword
8# Python3 code to demonstrate
3# function for subtraction of 2 numbers.
0 Trong tất cả các ngôn ngữ lập trình và viết kịch bản, một hàm là một khối các câu lệnh chương trình có thể được sử dụng lặp đi lặp lại trong một chương trình. Nó tiết kiệm thời gian của một nhà phát triển. Trong Python, khái niệm hàm giống như trong các ngôn ngữ khác. Có một số chức năng tích hợp sẵn là một phần của Python. Bên cạnh đó, chúng ta có thể định nghĩa các chức năng theo nhu cầu của mình
Hàm do người dùng xác định
- Trong Python, khai báo hàm do người dùng định nghĩa bắt đầu bằng từ khóa def và theo sau là tên hàm
- Hàm có thể lấy [các] đối số làm đầu vào trong dấu ngoặc đơn mở và đóng, ngay sau tên hàm theo sau là dấu hai chấm
- Sau khi xác định tên hàm và [các] đối số, một khối [các] câu lệnh chương trình bắt đầu ở dòng tiếp theo và [các] câu lệnh này phải được thụt vào
Đây là cú pháp của một hàm do người dùng định nghĩa
cú pháp
def function_name[argument1, argument2, ...] : statement_1 statement_2 ....
Cuộc gọi chức năng bên trong
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]
Cuộc gọi chức năng bên trong
def f[]: # def f[x, y]: def f[]: # def f[x=0, y=0]: def f[, ]: # def f[x, y=0]:
Gọi một chức năng
Gọi một hàm trong Python cũng tương tự như các ngôn ngữ lập trình khác, sử dụng tên hàm, dấu ngoặc đơn [mở và đóng] và [các] tham số. Xem cú pháp, theo sau là một ví dụ
cú pháp
function_name[arg1, arg2]
kết hợp đối số
def f[a, b, c]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] | f[1, 2, b=3] | f[1, 2, 3] def f[*, a, b, c]: # f[a=1, b=2, c=3] def f[a, *, b, c]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] def f[a, b, *, c]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] | f[1, 2, c=3]
def f[*args]: # f[1, 2, 3] def f[a, *args]: # f[1, 2, 3] def f[*args, c]: # f[1, 2, c=3] def f[a, *args, c]: # f[1, 2, c=3]
def f[**kwargs]: # f[a=1, b=2, c=3] def f[a, **kwargs]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] def f[*, a, **kwargs]: # f[a=1, b=2, c=3]
def f[*args, **kwargs]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] | f[1, 2, c=3] | f[1, 2, 3] def f[a, *args, **kwargs]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] | f[1, 2, c=3] | f[1, 2, 3] def f[*args, b, **kwargs]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] def f[a, *args, c, **kwargs]: # f[a=1, b=2, c=3] | f[1, b=2, c=3] | f[1, 2, c=3]
Thí dụ
def avg_number[x, y]:
print["Average of ",x," and ",y, " is ",[x+y]/2]
avg_number[3, 4]
đầu ra
Average of 3 and 4 is 3.5
Giải trình
1. Dòng 1-2. Chi tiết [định nghĩa] của chức năng
2. dòng 3. Gọi chức năng
3. Dòng 1. Truyền tham số. x = 3, y = 4
4. Dòng 2. In giá trị của hai tham số cũng như giá trị trung bình của chúng
Hàm không có đối số
Hàm sau không có đối số
def function_name[]
tuyên bố_1
tuyên bố_2
Thí dụ
def printt[]:
print["This is Python 3.2 Tutorial"]
print["This is Python 3.2 Tutorial"]
print["This is Python 3.2 Tutorial"]
printt[]
đầu ra
This is Python 3.2 Tutorial This is Python 3.2 Tutorial This is Python 3.2 Tutorial
Giải trình
1. Dòng 1-4. Chi tiết [định nghĩa] của chức năng
2. dòng 5. Gọi chức năng
3. Dòng 1. Không có tham số vượt qua
4. Dòng 2-4. Thực hiện ba câu lệnh in
Câu lệnh Return trong hàm
Trong Python, câu lệnh return [từ return theo sau là một biểu thức. ] được sử dụng để trả về một giá trị từ một hàm, câu lệnh trả về không có đối số biểu thức không trả về. Xem cú pháp
def function_name[đối số1, đối số2,. ]
tuyên bố_1
tuyên bố_2
biểu thức trả về
tên_hàm[arg1, arg2]
Thí dụ
Hàm sau trả về bình phương của tổng hai số
def nsquare[x, y]:
return [x*x + 2*x*y + y*y]
print["The square of the sum of 2 and 3 is : ", nsquare[2, 3]]
đầu ra
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]0
Giải trình
1. Dòng 1-2. Chi tiết [định nghĩa] của chức năng
2. dòng 3. Gọi hàm trong câu lệnh in
3. Dòng 1. Truyền tham số x = 2, y = 3
4. Dòng 2. Tính và trả về giá trị của [x + y]2
Giá trị đối số mặc định
Trong danh sách tham số của hàm, chúng ta có thể chỉ định [các] giá trị mặc định cho một hoặc nhiều đối số. Giá trị mặc định có thể được viết theo định dạng "argument1 = value", do đó chúng ta sẽ có tùy chọn khai báo hoặc không khai báo giá trị cho các đối số đó. Xem ví dụ sau
Thí dụ
Hàm sau đây trả về bình phương của tổng hai số, trong đó giá trị mặc định của đối số thứ hai là 2
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]1
đầu ra
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]2
Giải trình
Dòng 1-2. Chi tiết [định nghĩa] của chức năng
Đối với câu lệnh in đầu tiên [ Dòng số 3]
dòng 3. Gọi hàm mà không có đối số thứ hai, trong câu lệnh in
Dòng 1. Truyền tham số x = 2, giá trị mặc định
Dòng 2. Tính và trả về giá trị của [x + y]2
Đối với câu lệnh in thứ hai [ Dòng số 4]
dòng 3. Gọi hàm với tất cả các đối số, trong một câu lệnh in
Dòng 1. Truyền tham số x = 2, y = 4
Dòng 2. Tính và trả về giá trị của [x + y]2
Đối số từ khóa
Chúng ta đã học cách sử dụng các giá trị đối số mặc định, các hàm cũng có thể được gọi bằng cách sử dụng đối số từ khóa. Các đối số được đặt trước tên biến theo sau là dấu '=' [e. g. var_name="] được gọi là đối số từ khóa
Tất cả các đối số từ khóa được truyền phải khớp với một trong các đối số được hàm chấp nhận. Bạn có thể thay đổi thứ tự xuất hiện của từ khóa. Xem ví dụ sau
Thí dụ
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]3
đầu ra
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]4
Giải trình
Dòng 1. Hàm có tên Marks có 3 tham số, tham số đầu tiên [tiếng Anh] không có giá trị mặc định, các tham số còn lại có giá trị mặc định [math = 85, science = 80]
dòng 3. Tham số tiếng anh nhận giá trị 71, toán học nhận giá trị 77 và khoa học nhận giá trị mặc định là 80
dòng 4. Tham số tiếng anh nhận giá trị 65, toán học nhận giá trị mặc định là 85 và khoa học nhận giá trị 74 do đối số từ khóa
dòng 5. Ở đây chúng tôi sử dụng ba đối số từ khóa và tham số tiếng anh nhận giá trị 75, toán học nhận giá trị 90 và khoa học nhận giá trị 70
Danh sách đối số tùy ý
Danh sách 'đối số tùy ý' là một cách khác để truyền đối số cho một hàm. Trong thân hàm, các đối số này sẽ được bao bọc trong một bộ và nó có thể được định nghĩa bằng cấu trúc *args. Trước biến này, bạn có thể xác định một số đối số hoặc không có đối số
Thí dụ
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]5
đầu ra
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]6
Biểu mẫu Lambda
Trong Python, có thể tạo các hàm ẩn danh nhỏ [chưa đặt tên] bằng từ khóa lambda. Các biểu mẫu lambda có thể được sử dụng làm đối số cho hàm khác nơi các đối tượng hàm được yêu cầu nhưng về mặt cú pháp, chúng bị giới hạn ở một biểu thức duy nhất. Một chức năng như thế này
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]7
cũng có thể được xác định bằng lambda
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]8
đầu ra
[] # f[0, 0] [] # f[x=0, y=0] [, ] # f[0, y=0]9
Chuỗi tài liệu Python
Trong Python, một chuỗi ký tự được sử dụng để ghi lại một mô-đun, hàm, lớp hoặc phương thức. Bạn có thể truy cập các chuỗi ký tự bằng thuộc tính __doc__ [chú ý dấu gạch dưới kép] của đối tượng [e. g. my_function. __doc__]
Quy ước về chuỗi tài liệu
- Chuỗi ký tự thường phải được kèm theo một dấu ngoặc kép. Docstring nên có nhiều thông tin
- Dòng đầu tiên có thể mô tả ngắn gọn mục đích của đối tượng. Dòng phải bắt đầu bằng chữ in hoa và kết thúc bằng dấu chấm
- Nếu một chuỗi tài liệu là một chuỗi nhiều dòng thì dòng thứ hai phải để trống, sau đó là mọi giải thích chi tiết bắt đầu từ dòng thứ ba
Xem ví dụ sau với chuỗi tài liệu nhiều dòng
______36_______0
Trước. Bộ Python
Kế tiếp. Mô-đun Python
Kiểm tra kỹ năng Python của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
con trăn. Lời khuyên trong ngày
Tuyên bố chuyển nhượng được chú thích
Điều này có vẻ không ấn tượng bằng một số thủ thuật khác nhưng đó là một cú pháp mới được đưa vào Python trong những năm gần đây và bạn nên biết
Các bài tập được chú thích cho phép người viết mã để lại các gợi ý về loại trong mã. Những điều này không có bất kỳ quyền lực thực thi nào ít nhất là chưa. Thật tuyệt khi có thể ngụ ý một số gợi ý về loại và chắc chắn cung cấp nhiều tùy chọn hơn là chỉ có thể nhận xét về các loại biến dự kiến