Định nghĩa hàm bắt đầu bằng từ khóa print(add(3,4))
#Output:179. 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ăn
Các tham số hình thức được đề cập trong định nghĩa hàm. Tham số thực tế (đối số) đượ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))
#Output:90 được sử dụng để gán giá trị mặc định cho đối số - Đố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
Ví dụ
Trong ví dụ bên dưới, giá trị mặc định được cung cấp cho các đối số print(add(2,3,4))
#Output:91 và print(add(2,3,4))
#Output:92
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
#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:93, 4 được gán cho print(add(2,3,4))
#Output:91.
#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:95
Trong khi gọi hàm, các giá trị được truyền qua đối số không cần theo thứ tự 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
Ví dụ
def add(a,b=5,c=10):return (a+b+c)
Gọi hàm print(add(2,3,4))
#Output:96 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ự
#Output:93
2. 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:94
3. Đố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í
Ví dụ
print(add(2,3,4))#Output:95
Hà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))
#Output:97 được gán cho print(add(2,3,4))
#Output:93, print(add(2,3,4))
#Output:99 được gán cho print(add(2,3,4))
#Output:91 và def add(a,b=5,c=10):
return (a+b+c)1 được gán cho print(add(2,3,4))
#Output:92
#Output:92
2. Với sự kết hợp củ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:93
đố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:180
2. đối số từ khóa nên theo đối số vị trí
print(add(3))#Output:181
3. 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:182
4. 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:183
5. Đố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:184
ví 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:185
Đố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 một đố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:186
5. đố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
Ví dụ
print(add(3))#Output:187
Thô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óa
#Output:188
2. 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óa
#Output:189
Nế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:170
3. Đố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ên
#Output:171
Nế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:172
Tấ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:96 có tất cả ba đối số
print(add(2,3,4))
#Output:93,print(add(2,3,4))
#Output:91-đối số chỉ vị trí
print(add(2,3,4))
#Output:92-đối số vị trí hoặc từ khóa
print(add(2,3,4))
#Output:935-đối số chỉ từ khóa
#Output:173
Nhữ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à DataScience. 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