| کانال توسعه‌دهندگان پایتون |
6.63K subscribers
38 photos
2 videos
4 files
43 links
⭕️ کانال توسعه‌دهندگان پایتون دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
عملگر والروس (Walrus Operator) 🦭

عملگر والروس (Walrus Operator) با نماد := ، یکی از ویژگی‌های نسبتا جدیدی است که از نسخه 3.8 پایتون به آن اضافه شده است. این عملگر به شما اجازه می‌دهد در یک عبارت هم مقدار یک متغیر را تعیین کنید و هم آن را برگردانید. این ویژگی باعث می‌شود کدهای شما کوتاه‌تر و خواناتر شوند، به خصوص در مواردی که نیاز به مقداردهی اولیه یک متغیر درون یک عبارت شرطی یا حلقه دارید.


⁉️ چرا به آن والروس می‌گویند؟
نام "والروس" به دلیل شباهت ظاهری این عملگر به عاج‌های یک والروس (شیر دریایی) به آن داده شده است.


⁉️ چگونه کار می‌کند؟
کار این عملگر انجام دستورات، و در عین حال assign کردن مقدار به متغیر می باشد.
این عملگر در حالت استاندارد باید در داخل پرانتز قرار بگیرد. به نحوه استفاده و سینتکس این عملگر توجه کنید:
(variable := expression)


ساده‌ترین مثال برای درک این عملگر، استفاده از آن در یک عبارت شرطی است:
if (n := len("hello")) > 4:
    print(f"String length is greater than 4: {n}")


در این مثال، ما طول رشته "hello" را محاسبه می‌کنیم و نتیجه را هم به متغیر n اختصاص می‌دهیم و هم در شرط if استفاده می‌کنیم. این کار باعث می‌شود که ما مجبور نباشیم قبل از شرط، طول رشته را در یک متغیر جداگانه ذخیره کنیم.


🆚 مقایسه با روش سنتی
بدون استفاده از عملگر والروس، برای انجام همین کار باید به صورت زیر عمل می‌کردیم:
n = len("hello")

if n > 4:
    print(f"String length is greater than 4 : {n}")

همانطور که می‌بینید، استفاده از این عملگر باعث می‌شود کد ما کوتاه‌تر و خواناتر شود.


کاربردهای دیگر عملگر والروس

0️⃣ حلقه‌های while:

while (line := f.readline()):

# پردازش هر خط از فایل



1️⃣ فهم‌پذیرتر کردن کد:
if (match := re.search(pattern, text)):
    print(match.group())



2️⃣ کاهش تکرار کد:
if (numbers := [1, 2, 3]) and len(numbers) > 2:

# انجام کاری با لیست numbers



❇️ نمونه کد

🔴 نمونه کد بدون استفاده از عملگر والرس:
while True:
    command = input("> ")
    if command == 'exit':
        break
    print("Your command was:", command)


🟢 نمونه کد با استفاده از عملگر والرس:
while (command := input("> ")) != "exit":
    print("Your command was:", command)



⚠️ نکات مهم

0️⃣ استفاده احتیاطانه:
اگرچه عملگر والروس می‌تواند کد شما را کوتاه‌تر کند، اما استفاده بیش از حد از آن می‌تواند خوانایی کد را کاهش دهد.

1️⃣ پایتون 3.8 به بعد:
این عملگر از نسخه 3.8 پایتون به بعد اضافه شده است و در استفاده از نسخه های قدیمی تر به سینتکس ارور برخورد خواهید کرد.


♻️ جمع‌بندی
والروس یک عملگر قدرتمند برای نوشتن کدهای پایتون بهینه و خواناتر است. با استفاده از این عملگر، می‌توانید کدهای خود را کوتاه‌تر کرده و از تکرار کد جلوگیری کنید. با این حال، مهم است که از این عملگر به صورت مناسب استفاده کنید تا خوانایی کد شما کاهش نیابد.

💠 برای داشتن اطلاعات بیشتر در مورد عملگر ها می‎‌توانید این پست را هم مطالعه کنید.

🔖 #Python, #پایتون, #Operatos, #عملگر

👤 LightNess

💎 Channel: @DevelopixPython