عملگر والروس که از نسخه ۳٫۸ پایتون معرفی شده، با نماد :=
شناخته میشود. این عملگر به شما اجازه میدهد تا همزمان یک متغیر را مقداردهی کرده و از آن مقدار در یک عبارت (مثلاً شرط) استفاده کنید. به این روش assignment expression نیز گفته میشود.
مثال ساده:
if (value := input("Enter something: ")) != "":
print("You entered:", value)
در مثال بالا، مقدار ورودی کاربر در متغیر value
ذخیره شده و همزمان برای بررسی شرط نیز استفاده شده است.
استفاده در حلقه:
while (data := input("Enter: ")) != "exit":
print(f"You typed: {data}")
این روش کد را کوتاهتر و خواناتر میکند، مخصوصاً زمانی که نیاز به استفاده چندباره از نتیجه یک تابع دارید.
نکات مهم:
- در عبارات پیچیده یا شرطی، معمولاً لازم است از پرانتز استفاده شود.
- درون
lambda
نمیتوان از این عملگر در سطح بالا استفاده کرد. - در استفادههای نادرست میتواند باعث کاهش خوانایی شود؛ بنابراین باید با دقت به کار رود.
نام والروس به دلیل شباهت ظاهری نماد :=
به چشمها و دندانهای گراز دریایی انتخاب شده است!