Hướng dẫn types of arguments in python functions - các loại đối số trong các hàm python

Tìm hiểu về các loại đối số khác nhau được sử dụng trong định nghĩa hàm Python

Ảnh của Sharon McCutcheon từ Pexels

5 loại đối số trong hàm Python Định nghĩa:

  1. print(add(3,4))
    #Output:17
    4
  2. print(add(3,4))
    #Output:17
    5
  3. print(add(3,4))
    #Output:17
    6
  4. print(add(3,4))
    #Output:17
    7
  5. print(add(3,4))
    #Output:17
    8

Định nghĩa chức năng Python:

Định nghĩa chức năng bắt đầu với 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 dấu ngoặc đơn của các tham số chính thức. 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 Python

Các tham số chính thức được đề cập trong định nghĩa chức năng. Các tham số thực tế (đối số) được truyền trong một cuộc gọi chức năng.are mentioned in the function definition. Actual parameters(arguments) are passed during a function call.

Chúng ta có thể xác định một hàm với một số lượng đối số.

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 các chức năng.
  • Toán tử gán
    print(add(2,3,4))
    #Output:9
    0 đượ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 các cuộc gọi chức năng.
  • Nếu chúng tôi cung cấp giá trị cho các đối số mặc định trong các cuộc gọi chức năng, 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
  • Đối số mặc định nên tuân theo các đối số không mặc định.

Example:

Trong ví dụ dưới đây, giá trị mặc định được đưa ra cho đối số

print(add(2,3,4))
#Output:9
1and
print(add(2,3,4))
#Output:9
2

def add(a,b=5,c=10):
return (a+b+c)

Chức năng này có thể được gọi theo 3 cách

  1. 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.

3 is assigned to
print(add(2,3,4))
#Output:9
3, 4 is assigned to
print(add(2,3,4))
#Output:9
1.

print(add(3,4))
#Output:17

3. Đưa ra tất cả các lập luận

print(add(2,3,4))
#Output:9

Lưu ý: Các giá trị mặc định chỉ được đánh giá một lần tại điểm của định nghĩa hàm trong phạm vi xác định. Vì vậy, nó tạo ra sự khác biệt khi chúng ta vượt qua 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.Default values are evaluated only once at the point of the function definition in the defining scope. So, it makes a difference when we pass mutable objects like a list or dictionary as default values.

2. Đối số từ khóa:

Các chức năng cũng có thể được gọi là bằng cách sử dụng các đối số từ khóa của mẫu

print(add(2,3,4))
#Output:9
5.

Trong một cuộc gọi hàm, các giá trị được truyền qua các đối số không cần 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.

Example:

def add(a,b=5,c=10):
return (a+b+c)

Gọi chức năng

print(add(2,3,4))
#Output:9
6 bằng cách đưa ra các đối số từ khóa

  1. Tất cả các tham số được đưa ra làm đối số từ khóa, vì vậy không cần duy trì cùng một thứ tự.
print (add(b=10,c=15,a=20))
#Output:45

2. Trong một cuộc gọi chức năng, chỉ đưa ra đối số bắt buộc như một đối số từ khóa. Đối số mặc định tùy chọn được bỏ qua.

print (add(a=10))
#Output:25

3. Đối số vị trí

Trong một cuộc gọi hàm, các giá trị được truyền qua các đối số phải theo thứ tự các tham số trong định nghĩa hàm. Đây được gọi là đối số vị trí.positional arguments.

Đối số từ khóa chỉ nên tuân theo các đối số vị trí.

Example:

def add(a,b,c):
return (a+b+c)

Hàm trên có thể được gọi theo hai cách:

  1. Trong quá trình gọi chức năng, 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 đến các tham số theo vị trí của chúng.
    print(add(2,3,4))
    #Output:9
    7 được gán cho
    print(add(2,3,4))
    #Output:9
    3,
    print(add(2,3,4))
    #Output:9
    9 được gán cho
    print(add(2,3,4))
    #Output:9
    1 và
    def add(a,b=5,c=10):
    return (a+b+c)
    1 được gán cho
    print(add(2,3,4))
    #Output:9
    2.
print (add(10,20,30))
#Output:60

2. Đư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(10,c=30,b=20))
#Output:60

Mặc định so với vị trí so với đối số 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 nên tuân theo các đối số không mặc định

print(add(3))
#Output:18
0

2. Đối số từ khóa nên tuân theo các đối số vị trí

print(add(3))
#Output:18
1

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 chấp nhận bởi hàm và thứ tự của chúng không quan trọng.

print(add(3))
#Output:18
2

4. Không có đối số nào sẽ nhận được một giá trị nhiều hơn một lần

print(add(3))
#Output:18
3

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 Giving only the mandatory arguments

print(add(3))
#Output:18
4

Ví dụ 2: Đưa ra tất cả các đối số (đối số tùy chọn và bắt buộc)Giving all arguments (optional and mandatory arguments)

print(add(3))
#Output:18
5

Đối số có độ dài thay đổi

Các đối số có độ dài thay đổi còn được gọi là các đối số tùy ý. Nếu chúng ta không biết số lượng đối số cần thiết cho chức năng trước, chúng ta có thể sử dụng các đối số tùy ýarbitrary arguments. If we don’t know the number of arguments needed for the function in advance, we can use arbitrary arguments

Hai loại đối số tùy ý

  1. lập luận vị trí tùy ý
  2. Đố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ể giữ các đối số độ dài biến không thay đổi. Những lập luận này sẽ được kết thúc trong một tuple. Trước khi có số lượng đối số, không có hoặc nhiều đối số bình thường hơn có thể xảy ra.asterisk (*) is placed before a parameter in function definition which can hold non-keyword variable-length arguments. These arguments will be wrapped up in a tuple. Before the variable number of arguments, zero or more normal arguments may occur.

print(add(3))
#Output:18
6

5. Từ khóa từ khóa: đối số:

Đối với đối số vị trí tùy ý, dấu hoa thị kép (**) được đặt trước một tham số trong hàm có thể giữ các đối số độ dài biến từ khóa.double asterisk (**) is placed before a parameter in a function which can hold keyword variable-length arguments.

Example:

print(add(3))
#Output:18
7

Các tham số đặc biệt:

Theo tài liệu Python:

Theo mặc định, các đối số có thể được chuyển đến hàm Python theo vị trí hoặc rõ ràng bằng từ khóa. Đối với khả năng đọc và hiệu suất, có ý nghĩa khi hạn chế cách các đối số có thể được thông qua để nhà phát triển chỉ cần nhìn vào định nghĩa chức năng để xác định xem các mục được truyền theo vị trí, theo vị trí hoặc từ khóa hoặc 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 chỉ ra loại tham số bằng cách các đối số có thể được truyền đến hàm: chỉ có vị trí, từ vị trí hoặc từ khóa và chỉ từ khóa.

  1. Đối số từ vị trí hoặc từ khóa
  2. Chỉ các tham số vị trí
  3. Đối số chỉ từ khóa

1. Đối số từ 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 truyền đến một hàm theo vị trí hoặc từ khóa

print(add(3))
#Output:18
8

2. Các tham số chỉ vị trí

Các tham số chỉ có vị trí được đặt trước một

def add(a,b=5,c=10):
return (a+b+c)
3 (phần chuyển tiếp) 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ỉ có vị trí với phần còn lại của các tham số. Các tham số sau
def add(a,b=5,c=10):
return (a+b+c)
3 có thể là từ vị trí hoặc từ khóa chỉ.

print(add(3))
#Output:18
9

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 loại.TypeError.

print(add(3,4))
#Output:17
0

3. Từ khóa chỉ đối số

Để đá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.

print(add(3,4))
#Output:17
1

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 loại.TypeError.

print(add(3,4))
#Output:17
2

Tất cả 3 quy ước gọi được sử dụng trong cùng một hàm

Trong ví dụ dưới đây, hàm

print(add(2,3,4))
#Output:9
6 có cả ba đối số

________ 33, ________ 31-Chỉ đối số vị trí ________ 32 đối số từ khóa hoặc từ khóa

print(add(2,3,4))
#Output:9
2-positional or keyword arguments
print (add(b=10,c=15,a=20))
#Output:45
5-keyword-only arguments

print(add(3,4))
#Output:17
3

Những điểm quan trọng cần nhớ:

  1. Sử dụng chỉ 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 rất hữu ích khi tên tham số không có ý nghĩa thực sự. positional-only if you want the name of the parameters to not be available to the user. This is useful when parameter names have no real meaning.
  2. Sử dụng chỉ 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.positional-only if you want to enforce the order of the arguments when the function is called.
  3. Sử dụng từ khóa chỉ 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.keyword-only when names have meaning and the function definition is more understandable by being explicit with names.
  4. Sử dụng từ khóa chỉ khi bạn muốn ngăn người dùng dựa vào vị trí của đối số được thông qua.keyword-only when you want to prevent users from relying on the position of the argument being passed.

Xem không gian này để biết thêm các bài viết về Python và Datascience. Nếu bạn thích đọ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.Medium, LinkedIn, Twitter.

Cảm ơn vì đã đọc!

Cấp độ lên mã hóa

Cảm ơn vì đã là một phần của cộng đồng của chúng tôi! Lên lên là 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.Find your perfect job at the best companies.

Có bao nhiêu loại tranh luận trong Python?

Do đó, chúng tôi kết luận rằng các đối số chức năng Python và ba loại đối số của nó cho các chức năng. Đây là những đối số mặc định, từ khóa và tùy ý.default, keyword, and arbitrary arguments.

Các đối số trong một chức năng Python là gì?

Tham số thuật ngữ và đối số có thể được sử dụng cho cùng một điều: thông tin được truyền vào một hàm. Từ quan điểm của một hàm: Một tham số là biến được liệt kê bên trong dấu ngoặc đơn trong định nghĩa hàm. Một đối số là giá trị được gửi đến hàm khi nó được gọi.the value that are sent to the function when it is called.

4 loại chức năng trong Python là gì?

Sau đây là các loại chức năng Python khác nhau:..
Chức năng tích hợp Python ..
Chức năng đệ quy Python ..
Chức năng Python Lambda ..
Các chức năng do người dùng Python xác định ..

Đối số và các loại của nó là gì?

Có một số loại lập luận trong logic, trong số đó được biết đến nhiều nhất là "suy diễn" và "quy nạp".Một đối số có một hoặc nhiều cơ sở nhưng chỉ có một kết luận.Mỗi tiền đề và kết luận là những người mang sự thật hoặc "ứng dụng sự thật", mỗi người có khả năng đúng hoặc sai (nhưng không phải cả hai)."deductive" and "inductive." An argument has one or more premises but only one conclusion. Each premise and the conclusion are truth bearers or "truth-candidates", each capable of being either true or false (but not both).