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

Trong ảnh này, chúng tôi sẽ thảo luận về từ khóa **kwargs trong Python. Các hàm Python được xây dựng để giảm bớt sự dư thừa của cùng một chương trình và làm cho mã có thể tái sử dụng. Thông thường một hàm được viết với một giá trị cụ thể gọi là một đối số. Tuy nhiên, điều đó đôi khi tạo ra vấn đề nếu số lượng đối số không được biết.functions are built to lessen the redundancy of the same program and make the code reusable. Usually a function is written with a specific value called an argument. However, that sometimes creates problems if the number of arguments is not known.

Từ khóa **kwargs

Hãy nói rằng chúng tôi muốn tạo ra một chức năng cho chúng tôi tên và tuổi của một người. Trong trường hợp này, chúng tôi có thể không biết chúng tôi muốn thêm bao nhiêu biến. Chúng tôi sử dụng **kwargs để giải quyết vấn đề này.**kwargs to address this problem.

**kwargs cho phép chúng tôi chuyển một số lượng thay đổi các đối số từ khóa cho hàm bằng cách sử dụng Double Asterisk ** trước tên tham số. Các đối số được thông qua như một từ điển. **kwargs là một từ khóa đặc biệt làm cho chức năng linh hoạt.

Mã số

Hãy cùng nhìn vào đoạn mã để hiểu điều này tốt hơn.

def intro(**data):

for key, value in data.items():

print(f"{key} is {value}")

intro(Name="Tom", Age=25)

intro(Name="Jerry", Age=26)

Sử dụng từ khóa Kwargs trong Python

Giải trình

  • Trong dòng 1, chúng tôi tạo một hàm.

  • Trong các dòng 3 và 4, chúng tôi tạo một vòng lặp in cả

    def addnum(a, b, c):
    return a + b + c
    1 và
    def addnum(a, b, c):
    return a + b + c
    2 của từ điển đầu vào.

  • Trong các dòng 6 và 7, chúng tôi chạy chức năng bằng các đầu vào mẫu.

Theo cách này, chúng ta có thể sử dụng từ khóa **kwargs trong Python.

Người đóng góp

Vinisha Maheshwari

Có ba loại đối số mà hàm Python có thể chấp nhận: tiêu chuẩn, biến (*args) và từ khóa (** kwargs). Đối số tiêu chuẩn là đơn giản nhất nhưng có chức năng hạn chế. Mặt khác, *args và ** kwargs cho phép bạn làm cho các chức năng của mình linh hoạt hơn, bằng cách chấp nhận một số lượng đầu vào.

Loại phân tích đối số mà bạn chọn phụ thuộc vào bản chất của chức năng và phong cách lập trình ưa thích của riêng bạn.

Các chức năng cơ bản trong Python

Để hiểu làm thế nào hai đối số biến trong các chức năng Python hoạt động, điều cần thiết là phải hiểu tại sao chúng tồn tại ở nơi đầu tiên. Một hàm đơn giản khai báo một số lượng cố định các đối số ẩn danh như vậy:

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

Chức năng này hoạt động tốt, nhưng có chỗ để cải thiện. Vấn đề lớn nhất là nó chỉ xử lý hai đối số, vì vậy nó chỉ có thể thêm hai số. Điều gì sẽ xảy ra nếu bạn muốn thêm hai hoặc bốn số? Chức năng này sẽ không cho phép bạn làm như vậy. Truyền nhiều hoặc ít đối số hơn hàm chấp nhận sẽ dẫn đến một kiểu mẫu.

Tất nhiên, bạn có thể tạo ra nhiều chức năng hơn để chấp nhận số lượng đối số khác nhau. Nhưng điều đó thật bất tiện và sẽ không mở rộng quy mô tốt. Bạn cũng sẽ cần tạo một chức năng mới mỗi khi bạn muốn xử lý một số đầu vào mới.

Đó là nơi các đối số biến và các đối số từ khóa xuất hiện. Sử dụng *args và ** kwargs, bạn có thể xác định các hàm linh hoạt có thể lấy số lượng đầu vào thay đổi.

*Args trong Python là gì?

Ý tưởng chính đằng sau *Args in Python là cho phép bạn chuyển một số lượng đầu vào thay đổi cho chức năng của bạn. Điều này có ích trong các ứng dụng khác nhau. Chẳng hạn, hãy nghĩ về một chương trình máy tính nơi bạn muốn cung cấp cho người dùng khả năng thêm hai hoặc nhiều số và trả lại tổng.

Lưu ý rằng Args chỉ là một tên biến; Đó là * điều đó quan trọng. Bạn có thể sử dụng bất kỳ tên hợp lệ nào cho đối số biến của mình, miễn là bạn bao gồm *.

Cách sử dụng *args

Bạn có thể sửa đổi chức năng AddNum để lấy một số lượng đầu vào thay đổi như sau:

def addnum(*args):
total = 0

for num in args:
total = total + num

return total

Đoạn mã ở trên sử dụng một vòng lặp để lặp lại thông qua các đầu vào được cung cấp.

Sau đó, bạn có thể gọi chức năng AddNum với các đối số biến và nó sẽ hoạt động mà không gây ra lỗi:

print(addnum(10, 1, 12, 12, 4, 54, 5)) ## returns 98
print(addnum(14, 54, 5)) # returns 73
print(addnum(10, 5)) # returns 15

** kwargs trong Python là gì?

Mặc dù cả *args và ** kwargs cho phép chúng tôi chuyển một số lượng đầu vào thay đổi cho các chức năng, thì cái sau là cụ thể cho các đối số từ khóa. Trong trường hợp bạn không biết, các đối số từ khóa chỉ là tên lạ mắt cho các đối số có tên.

Một điều độc đáo khác về ** kwargs là Python đại diện cho giá trị như một từ điển.

Cách sử dụng ** kwargs

Giống như *args, kép là bit quan trọng; Bạn có thể sử dụng bất kỳ từ nào làm tên tham số. Đây là một ví dụ về cách sử dụng ** kwargs trong Python:

def weekly_attendance(**weekdays):
total_attendees = 0

for attendees in weekdays.values():
total_attendees = total_attendees + attendees

return total_attendees

print(weekly_attendance(monday = 265, tuesday = 698, wednesday = 365, thursday = 463, friday = 234)) # returns 2025
print(weekly_attendance(monday = 265, friday = 234)) # returns 499
print(weekly_attendance(wednesday = 365, thursday = 463, friday = 234)) # returns 1062

Đoạn mã ở trên cũng sử dụng một vòng lặp cho vòng lặp, nhưng lần này với phương thức giá trị tích hợp () của Python. Phương thức đó trả về một đối tượng Chế độ xem của tất cả các giá trị trong từ điển. Phương thức giá trị () cho phép bạn lặp qua từ điển Python mà không gặp rắc rối.

Sử dụng các đối số biến để làm cho các hàm Python của bạn linh hoạt

Đối số chức năng là tiện dụng, nhưng một số chức năng có thể được hưởng lợi từ việc chấp nhận một số lượng khác nhau các đối số. Các đối số từ khóa được đặt tên có thể làm cho mã của bạn dễ sử dụng hơn và dễ sử dụng hơn. Bạn nên nắm lấy các đối số *Args và ** Kwargs của Python. Chúng khá đơn giản để sử dụng, và với chúng, bạn có thể làm cho các chức năng và chương trình của bạn linh hoạt hơn.

Bằng cách làm theo các bước và đoạn mã ở trên, chúng tôi hy vọng rằng bây giờ bạn có thể sử dụng các đối số từ khóa biến và không thay đổi cho các chức năng của bạn.

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.

Kwargs là gì?

** Kwargs là viết tắt của các đối số từ khóa.Sự khác biệt duy nhất so với Args là nó sử dụng các từ khóa và trả về các giá trị dưới dạng từ điển.Bây giờ, chúng ta hãy viết một chức năng bình thường và truyền các đối số thông qua Args và Kwargs.keyword arguments. The only difference from args is that it uses keywords and returns the values in the form of a dictionary. Now, let's write a normal function and pass arguments through args and kwargs.

Có nghĩa là gì trong biến Python?

Toán tử dấu hoa thị (STAR) được sử dụng trong Python với nhiều hơn một nghĩa được gắn vào nó.Đối với các loại dữ liệu số, * được sử dụng làm toán tử nhân >>> a = 10; b = 20 >>> a * b 200 >>> a = 1.5;b = 2,5;>>> a*b 3.75 >>> a = 2+3j;B = 3+2J >>> A*B 13J.multiplication operator >>> a=10;b=20 >>> a*b 200 >>> a=1.5; b=2.5; >>> a*b 3.75 >>> a=2+3j; b=3+2j >>> a*b 13j.

Sự khác biệt giữa Args và Kwargs trong Python là gì?

*Args chỉ định số lượng các đối số không thay đổi có thể được truyền và các hoạt động có thể được thực hiện trên hàm trong Python trong khi ** KWARGS là một số lượng các đối số từ khóa có thể được truyền đến một hàm có thể thực hiện các hoạt động từ điển.