Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะใช้ *args และ **kwargs ใน Python ได้อย่างไร?


ใน Python สามารถใช้รูปแบบเครื่องหมายดอกจันเดียวของ *args เป็นพารามิเตอร์เพื่อส่งรายการอาร์กิวเมนต์ความยาวผันแปรที่ไม่มีคีย์เวิร์ดไปยังฟังก์ชันได้ จะเห็นได้ว่าเครื่องหมายดอกจัน (*) มีความสำคัญที่นี่ และเมื่อรวมกับคำว่า args ก็หมายความว่ามีรายการอาร์กิวเมนต์ที่ไม่มีคีย์เวิร์ดที่มีความยาวผันแปรได้

ตัวอย่าง

รหัสที่กำหนดบน *args ถูกเขียนใหม่ดังนี้

def multiply(*args):
    y = 1
    for i in args:
        y = y * i
    print y
multiply(3, 4)
multiply(10, 8)
multiply(2, 5, 6)
multiply(4, 5, 10, 9)

ผลลัพธ์

C:/Users/TutorialsPoint1/~.py
12
80
60
1800

รูปแบบเครื่องหมายดอกจันคู่ของ **kwargs ใช้เพื่อส่งผ่านพจนานุกรมอาร์กิวเมนต์ความยาวผันแปรที่มีคีย์เวิร์ดที่มีคีย์เวิร์ดไปยังฟังก์ชัน อีกครั้ง เครื่องหมายดอกจันสองดอก (**) มีความสำคัญและร่วมกับคำว่า kwargs แสดงว่ามีพจนานุกรมของอาร์กิวเมนต์ที่มีคีย์เวิร์ดที่มีความยาวผันแปรได้

ตัวอย่าง

รหัสที่กำหนดใน **kwargs ถูกเขียนใหม่เป็น

def print_kwargs(**kwargs):
    print(kwargs)
print_kwargs(a='foo', b=10, c =True)

ผลลัพธ์

C:/Users/TutorialsPoint1/~.py
{'a': 'foo', 'b': 10, 'c': True}