🔹عملگر := (که به خاطر شباهتش به چشمان و عاجهای والروس، Walrus Operator نامیده میشه) از پایتون ۳.۸ معرفی شد. کار اصلیش اینه که به شما اجازه میده همزمان با مقداردهی متغیر، از اون استفاده هم بکنید (Assignment Expressions).
🔹این کار باعث میشه کد شما کوتاهتر، خواناتر و بهینهتر بشه.
🔹 کد بدون Walrus Operator (روش قدیمی):
data = [1, 2, 3, 4, 5]
n = len(data)
if n > 3:
print(f"تعداد عناصر زیاد است: {n}")
🔹 کد با Walrus Operator (روش حرفهای):
data = [1, 2, 3, 4, 5]
# تعریف متغیر n دقیقاً داخل شرط if!
if (n := len(data)) > 3:
print(f"تعداد عناصر زیاد است: {n}")
🔹 یک کاربرد واقعی و عالی در حلقه while:
فرض کنید میخواهید ورودی کاربر را تا زمان نوشتن کلمه exit دریافت کنید:
# روش تمیز و مدرن با Walrus
while (user_input := input("یک کلمه وارد کنید: ")) != "exit":
print(f"شما وارد کردید: {user_input}")
🔹 چه زمانی استفاده کنیم؟
* وقتی میخواید از محاسبه مجدد یک مقدار سنگین جلوگیری کنید.
* وقتی میخواید کدهای تکراری در شرطهای if و حلقههای while رو کاهش بدی.
🐍 @python_rd