Định nghĩa hàm bắt đầu bằng từ khóa
print[add[3,4]]
#Output:17
9. Nó phải được theo sau bởi tên hàm và danh sách các tham số chính thức được đặt trong ngoặc đơn. Các câu lệnh tạo thành phần thân của hàm bắt đầu ở dòng tiếp theo và phải được thụt vào. — tài liệu trănCác tham số hình thức được đề cập trong định nghĩa hàm. Các tham số [đối số] thực tế được truyền trong khi gọi hàm
Chúng ta có thể định nghĩa một hàm với số lượng đối số thay đổi
1. đối số mặc định
- Đối số mặc định là các giá trị được cung cấp trong khi xác định chức năng
- Toán tử gán
print[add[2,3,4]]
0 được sử dụng để gán giá trị mặc định cho đối số
#Output:9 - Đối số mặc định trở thành tùy chọn trong khi gọi hàm
- Nếu chúng ta cung cấp một giá trị cho các đối số mặc định trong khi gọi hàm, nó sẽ ghi đè giá trị mặc định
- Hàm có thể có bất kỳ số lượng đối số mặc định nào
- Các đối số mặc định phải tuân theo các đối số không mặc định
Thí dụ
Trong ví dụ dưới đây, giá trị mặc định được gán cho đối số
print[add[2,3,4]]
#Output:9
1 và print[add[2,3,4]]
#Output:9
2def add[a,b=5,c=10]:
return [a+b+c]
Hàm này có thể được gọi theo 3 cách
- Chỉ đưa ra đối số bắt buộc
print[add[3]]
#Output:18
2. Đưa ra một trong các đối số tùy chọn.
3 được gán cho
print[add[2,3,4]]
#Output:9
3, 4 được gán cho print[add[2,3,4]]
#Output:9
1. print[add[3,4]]
#Output:17
3. Đưa ra tất cả các lý lẽ
print[add[2,3,4]]
#Output:9
Ghi chú. Các giá trị mặc định chỉ được đánh giá một lần tại điểm định nghĩa hàm trong phạm vi xác định. Vì vậy, sẽ tạo ra sự khác biệt khi chúng ta chuyển các đối tượng có thể thay đổi như danh sách hoặc từ điển làm giá trị mặc định
2. Đối số từ khóa
Các chức năng cũng có thể được gọi bằng cách sử dụng các đối số từ khóa có dạng
print[add[2,3,4]]
#Output:9
5Trong khi gọi hàm, các giá trị được truyền qua các đối số không nhất thiết phải theo thứ tự các tham số trong định nghĩa hàm. Điều này có thể đạt được bằng các đối số từ khóa. Nhưng tất cả các đối số từ khóa phải khớp với các tham số trong định nghĩa hàm
Thí dụ
def add[a,b=5,c=10]:
return [a+b+c]
Gọi hàm
print[add[2,3,4]]
#Output:9
6 bằng cách đưa ra đối số từ khóa- Tất cả các tham số được cung cấp dưới dạng đối số từ khóa, vì vậy không cần duy trì cùng một thứ tự
print[add[2,3,4]]
#Output:9
32. Trong khi gọi hàm, chỉ đưa ra đối số bắt buộc làm đối số từ khóa. Đối số mặc định tùy chọn được bỏ qua
print[add[2,3,4]]
#Output:9
43. Đối số vị trí
Trong khi gọi hàm, các giá trị được truyền qua đối số phải theo thứ tự tham số trong định nghĩa hàm. Điều này được gọi là đối số vị trí
Các đối số từ khóa chỉ nên tuân theo các đối số vị trí
Thí dụ
print[add[2,3,4]]
#Output:9
5Hàm trên có thể được gọi theo hai cách
- Trong khi gọi hàm, tất cả các đối số được đưa ra dưới dạng đối số vị trí. Các giá trị được truyền qua các đối số được truyền cho các tham số theo vị trí của chúng.
print[add[2,3,4]]
7 được gán cho
#Output:9print[add[2,3,4]]
3,
#Output:9print[add[2,3,4]]
9 được gán cho
#Output:9print[add[2,3,4]]
1 và
#Output:9def add[a,b=5,c=10]:
1 được gán cho
return [a+b+c]print[add[2,3,4]]
2
#Output:9
print[add[2,3,4]]
#Output:9
22. Đưa ra sự kết hợp giữa các đối số vị trí và từ khóa, các đối số từ khóa phải luôn tuân theo các đối số vị trí
print[add[2,3,4]]
#Output:9
3đối số mặc định so với vị trí so với từ khóa
Những điểm quan trọng cần nhớ
Ảnh của tác giả
1. đối số mặc định phải tuân theo đối số không mặc định
print[add[3]]
#Output:18
02. đối số từ khóa nên theo đối số vị trí
print[add[3]]
#Output:18
13. 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 và thứ tự của chúng không quan trọng
print[add[3]]
#Output:18
24. Không có đối số sẽ nhận được một giá trị nhiều hơn một lần
print[add[3]]
#Output:18
35. Đối số mặc định là đối số tùy chọn
ví dụ 1. Chỉ đưa ra các đối số bắt buộc
print[add[3]]
#Output:18
4ví dụ 2. Đưa ra tất cả các đối số [đối số tùy chọn và bắt buộc]
print[add[3]]
#Output:18
5Đối số có độ dài thay đổi
Đối số có độ dài thay đổi còn được gọi là đối số tùy ý. Nếu không biết trước số lượng đối số cần thiết cho hàm, chúng ta có thể sử dụng đối số tùy ý
Hai loại đối số tùy ý
- đối số vị trí tùy ý
- đối số từ khóa tùy ý
4. đối số vị trí tùy ý
Đối với đối số vị trí tùy ý, dấu hoa thị [*] được đặt trước một tham số trong định nghĩa hàm có thể chứa các đối số có độ dài thay đổi không phải từ khóa. Các đối số này sẽ được gói gọn trong một bộ dữ liệu. Trước số lượng đối số thay đổi, có thể xảy ra không hoặc nhiều đối số bình thường
print[add[3]]
#Output:18
65. đối số từ khóa tùy ý
Đối với đối số vị trí tùy ý, dấu hoa thị kép [**] được đặt trước tham số trong hàm có thể chứa đối số độ dài thay đổi từ khóa
Thí dụ
print[add[3]]
#Output:18
7Thông số đặc biệt
Theo Tài liệu Python
Theo mặc định, các đối số có thể được chuyển đến một hàm Python theo vị trí hoặc theo từ khóa một cách rõ ràng. Đối với khả năng đọc và hiệu suất, nên hạn chế cách truyền đối số sao cho nhà phát triển chỉ cần xem định nghĩa hàm để xác định xem các mục được truyền theo vị trí, theo vị trí hoặc theo từ khóa hay theo từ khóa
Một định nghĩa chức năng có thể trông giống như
Ảnh của tác giả
trong đó
def add[a,b=5,c=10]:
return [a+b+c]
3 và def add[a,b=5,c=10]:
return [a+b+c]
4 là tùy chọn. Nếu được sử dụng, các ký hiệu này cho biết loại tham số theo cách các đối số có thể được truyền cho hàm. chỉ vị trí, vị trí hoặc từ khóa và chỉ từ khóa- Đối số vị trí hoặc từ khóa
- Thông số chỉ vị trí
- Đối số chỉ từ khóa
1. Đối số vị trí hoặc từ khóa
Nếu
def add[a,b=5,c=10]:
return [a+b+c]
3 và def add[a,b=5,c=10]:
return [a+b+c]
4 không có trong định nghĩa hàm, các đối số có thể được chuyển đến hàm theo vị trí hoặc theo từ khóaprint[add[3]]
#Output:18
82. Thông số chỉ vị trí
Các tham số chỉ vị trí được đặt trước
def add[a,b=5,c=10]:
return [a+b+c]
3 [dấu gạch chéo lên] trong định nghĩa hàm. def add[a,b=5,c=10]:
return [a+b+c]
3 được sử dụng để phân tách hợp lý các tham số chỉ vị trí với các tham số còn lại. Các tham số theo sau def add[a,b=5,c=10]:
return [a+b+c]
3 có thể là vị trí hoặc từ khóa hoặc chỉ từ khóaprint[add[3]]
#Output:18
9Nếu chúng tôi chỉ định các đối số từ khóa cho các đối số chỉ vị trí, nó sẽ tăng TypeError
print[add[3,4]]
#Output:17
03. Đối số chỉ từ khóa
Để đánh dấu các tham số là chỉ từ khóa, hãy đặt một
def add[a,b=5,c=10]:
return [a+b+c]
4 trong danh sách đối số ngay trước tham số chỉ từ khóa đầu tiênprint[add[3,4]]
#Output:17
1Nếu chúng tôi chỉ định các đối số vị trí cho các đối số chỉ từ khóa, nó sẽ tăng TypeError
print[add[3,4]]
#Output:17
2Tất cả 3 quy ước gọi được sử dụng trong cùng một chức năng
Trong ví dụ dưới đây, hàm
print[add[2,3,4]]
#Output:9
6 có tất cả ba đối sốprint[add[2,3,4]]
#Output:9
3,print[add[2,3,4]]
#Output:9
1 — đối số chỉ vị tríprint[add[2,3,4]]
#Output:9
2-đối số vị trí hoặc từ khóaprint[add[2,3,4]]
#Output:9
35-đối số chỉ từ khóaprint[add[3,4]]
#Output:17
3Những điểm quan trọng cần nhớ
- Chỉ sử dụng vị trí nếu bạn muốn tên của các tham số không có sẵn cho người dùng. Điều này hữu ích khi tên tham số không có ý nghĩa thực sự
- Chỉ sử dụng vị trí nếu bạn muốn thực thi thứ tự của các đối số khi hàm được gọi
- Chỉ sử dụng từ khóa khi tên có ý nghĩa và định nghĩa hàm dễ hiểu hơn bằng cách rõ ràng với tên
- Chỉ sử dụng từ khóa khi bạn muốn ngăn người dùng dựa vào vị trí của đối số được chuyển
Liên kết blog khác của tôi
Mọi thứ bạn từng muốn biết về Python Return Statements
Tài nguyên [Tài liệu Python]
Định nghĩa hàm
đối số mặc định
đối số từ khóa
thông số đặc biệt
danh sách đối số tùy ý
Xem không gian này để biết thêm các bài viết về Python và Khoa học dữ liệu. Nếu bạn muốn đọc thêm các hướng dẫn của tôi, hãy theo dõi tôi trên Medium, LinkedIn, Twitter
Cảm ơn vì đã đọc
Tăng cấp mã hóa
Cảm ơn vì đã là một phần của cộng đồng của chúng tôi. Tăng cấp đang chuyển đổi tuyển dụng công nghệ. Tìm công việc hoàn hảo của bạn tại các công ty tốt nhất