Hướng dẫn what is * args python? - * args python là gì?

Trong lập trình, chúng tôi xác định một hàm & nbsp; để tạo một mã có thể tái sử dụng thực hiện hoạt động tương tự. Để thực hiện thao tác đó, chúng tôi gọi một hàm với giá trị cụ thể, & nbsp; giá trị này được gọi là đối số hàm trong Python.

Chúng tôi khuyên bạn nên đọc các đối số chức năng Python và chức năng Python.

Giả sử, chúng tôi xác định một hàm để thêm 3 số.

Ví dụ 1: Hàm để thêm 3 số

def adder(x,y,z):
    print("sum:",x+y+z)

adder(10,12,13)

Khi chúng tôi chạy chương trình trên, đầu ra sẽ

sum: 35

Trong chương trình trên, chúng tôi có chức năng adder() với ba đối số x, y và z. Khi chúng ta vượt qua ba giá trị trong khi gọi hàm adder(), chúng ta sẽ nhận được tổng 3 số làm đầu ra.


Hãy xem những gì xảy ra khi chúng ta vượt qua hơn 3 đối số trong hàm adder().

def adder(x,y,z):
    print("sum:",x+y+z)

adder(5,10,15,20,25)

Khi chúng tôi chạy chương trình trên, đầu ra sẽ

TypeError: adder() takes 3 positional arguments but 5 were given

Trong chương trình trên, chúng tôi có chức năng adder() với ba đối số x, y và z. Khi chúng ta vượt qua ba giá trị trong khi gọi hàm adder(), chúng ta sẽ nhận được tổng 3 số làm đầu ra.


Hãy xem những gì xảy ra khi chúng ta vượt qua hơn 3 đối số trong hàm adder().

Trong chương trình trên, chúng tôi đã chuyển 5 đối số cho hàm adder() thay vì 3 đối số do chúng tôi có

sum: 35
2.

  1. Giới thiệu về *args và ** kwargs trong Python
  2. Trong Python, chúng ta có thể chuyển một số lượng đối số thay đổi cho một hàm bằng các ký hiệu đặc biệt. Có hai biểu tượng đặc biệt:

*args (đối số từ khóa không)


** kwargs (đối số từ khóa)

Chúng tôi sử dụng *args và ** kwargs làm đối số khi chúng tôi không chắc chắn về số lượng đối số để truyền trong các chức năng.

Python *args

Như trong ví dụ trên, chúng tôi không chắc chắn & nbsp; về số lượng đối số có thể được truyền đến một hàm. Python có *arg cho phép chúng tôi vượt qua số lượng thay đổi của các đối số từ khóa cho chức năng.

def adder(*num):
    sum = 0
    
    for n in num:
        sum = sum + n

    print("Sum:",sum)

adder(3,5)
adder(4,5,6,7)
adder(1,2,3,5,6)

Khi chúng tôi chạy chương trình trên, đầu ra sẽ

Sum: 8
Sum: 22
Sum: 17

Trong chương trình trên, chúng tôi có chức năng adder() với ba đối số x, y và z. Khi chúng ta vượt qua ba giá trị trong khi gọi hàm adder(), chúng ta sẽ nhận được tổng 3 số làm đầu ra.


Hãy xem những gì xảy ra khi chúng ta vượt qua hơn 3 đối số trong hàm adder().

Trong chương trình trên, chúng tôi đã chuyển 5 đối số cho hàm adder() thay vì 3 đối số do chúng tôi có

sum: 35
2.

Giới thiệu về *args và ** kwargs trong Python

Trong Python, chúng ta có thể chuyển một số lượng đối số thay đổi cho một hàm bằng các ký hiệu đặc biệt. Có hai biểu tượng đặc biệt:

def intro(**data):
    print("\nData type of argument:",type(data))

    for key, value in data.items():
        print("{} is {}".format(key,value))

intro(Firstname="Sita", Lastname="Sharma", Age=22, Phone=1234567890)
intro(Firstname="John", Lastname="Wood", Email="", Country="Wakanda", Age=25, Phone=9876543210)

Khi chúng tôi chạy chương trình trên, đầu ra sẽ

Data type of argument: 
Firstname is Sita
Lastname is Sharma
Age is 22
Phone is 1234567890

Data type of argument: 
Firstname is John
Lastname is Wood
Email is 
Country is Wakanda
Age is 25
Phone is 9876543210

Trong chương trình trên, chúng tôi có chức năng adder() với ba đối số x, y và z. Khi chúng ta vượt qua ba giá trị trong khi gọi hàm adder(), chúng ta sẽ nhận được tổng 3 số làm đầu ra.


Hãy xem những gì xảy ra khi chúng ta vượt qua hơn 3 đối số trong hàm adder().

  • Trong chương trình trên, chúng tôi đã chuyển 5 đối số cho hàm adder() thay vì 3 đối số do chúng tôi có
    sum: 35
    2.
  • Giới thiệu về *args và ** kwargs trong Python
  • Trong Python, chúng ta có thể chuyển một số lượng đối số thay đổi cho một hàm bằng các ký hiệu đặc biệt. Có hai biểu tượng đặc biệt:
  • *args (đối số từ khóa không)

Có nghĩa là * có nghĩa là gì trong đối số python?

Giải nén: Trong quá trình gọi chức năng, chúng ta có thể giải nén danh sách Python/Tuple/Range/Dict và chuyển nó dưới dạng các đối số riêng biệt. * được sử dụng để giải nén các đối số vị trí. ** được sử dụng để giải nén các đối số từ khóa. Đóng gói: Bạn có thể đã thấy *args và ** kwargs trong định nghĩa hàm python.unpacking positional arguments. ** is used for unpacking keyword arguments. Packing: You might have seen *args and **kwargs in a python function definition.

Có nghĩa là * có nghĩa là gì trong chức năng Python?

Ở đây một dấu hoa thị ( *) cũng được sử dụng trong * args.Nó được sử dụng để chuyển một số lượng các đối số biến cho một hàm, nó chủ yếu được sử dụng để truyền một đối số không quan trọng và danh sách đối số có độ dài thay đổi.used to pass a variable number of arguments to a function, it is mostly used to pass a non-key argument and variable-length argument list.

Asterisk args là gì?

Trong Python, dạng đơn vị đơn của *args có thể được sử dụng làm tham số để gửi danh sách đối số biến số không thay đổi đến các chức năng.Điều đáng chú ý là dấu hoa thị ( *) là yếu tố quan trọng ở đây, vì từ Args là thành ngữ thông thường được thiết lập, mặc dù nó không được thực thi bởi ngôn ngữ.a parameter to send a non-keyworded variable-length argument list to functions. It is worth noting that the asterisk ( * ) is the important element here, as the word args is the established conventional idiom, though it is not enforced by the language.

Loại tham số * args *?

Trong Python, các tham số như *args được gọi là tham số variadic.Các chức năng có các tham số variadic được gọi là các hàm variadic.Lưu ý rằng bạn không cần đặt tên cho ARG cho một tham số Variadic.Ví dụ: bạn có thể sử dụng bất kỳ tên có ý nghĩa nào như *số, *chuỗi, *danh sách, v.v.variadic parameters. Functions that have variadic parameters are called variadic functions. Note that you don't need to name args for a variadic parameter. For example, you can use any meaningful names like *numbers , *strings , *lists , etc.