وقتی نمیدونی یه فانکشن قراره چه تعداد یا چه اسمهایی از آرگومانها رو بگیره،
اصلا خوده**kwargs میتونه نجاتدهندهت باشه 😎
چی کار میکنه اصلاً **kwargs؟ 🤔
**kwargs در واقع یه syntax خاص در پایتون هست که به شما اجازه میده تا آرگومانهای نامدار (keyword arguments) رو به صورت دیکشنری به فانکشنها منتقل کنید.حالا بریم مثال اش رو ببینیم👨💻
وقتی میگیم unpacking، منظور اینه که پایتون این دیکشنری رو میگیره و تبدیل میکنه به آرگومانهای جداگانه درون فانکشن. این فرایند باعث میشه که هیچگونه محدودیتی در تعداد آرگومانها نداشته باشیم.
def greet(**kwargs):
for key, value in kwargs.items():
print(f"{key.capitalize()}: {value}")
greet(name="Ali", age=27, city="Tehran")
📤 خروجی:
Name: Ali
Age: 27
City: Tehran
🧠 چی شد؟
خب **kwargs همه آرگومانهای نامدار رو میگیره و میریزه توی یه دیکشنری!💡 ترفند: میتونی حتی **kwargs رو همونجوری که هست به یه فانکشن دیگه پاس بدی!
خیلی کاربردیه برای فانکشنهای داینامیک، APIها یا موقعی که نمیدونی ورودی دقیقاً چیه!
خیلی وقتا این ترفند نجاتت میده... ولی چطوری؟ 🤔
python
def log_data(**data):
save_to_db(**data)
@python_rd