با سلام. توی این پست می خوام شما رو با یکی از از عملگر های جدید پایتون به نام walrus (معادل فارسیشو نمی دونم ولی تو دیکشنری که زدم، میگفت میشه شیرماهی) که در نسخه . به آن اضافه شده آشنا کنم. این عملگر به این شکل نشون داده می شه ( همه ما برخی اوقات با همچین موقعیت هایی مواجه میشیم توی این برنامه، سعی می کنیم دو الگو رو روی data تست کنیم، هر کدوم که match شد کار های مربوط به اون رو انجام میدیم اما این برنامه زیاد بهینه نیست. چون ما دو تا الگو رو یک جا تست می کنیم و این مرحله برنامه رو کمی کند می کنه. در نتیجه ما از m هیچ استفاده خاصی نکردیم و. شاید بهتر بود که این برنامه رو اینطور پیاده سازی کنیم در این برنامه در صورتی که الگوی اول match بشه، دیگه ما سراغ دومی نمیریم اما اگه نشد، اونوقت ما دومی رو تست می کنیم. شاید متوجه شده باشید که خیلی ساختار برنامه پیچیده شد. کد ها خوانایی کمتری نسبت به قبل دارند. و این دقیقا همون مشکلیه که می خواهیم با walrus حلش کنیم. با استفاده از این عملگر جدید می تونیم کد رو طوری بنویسیم نیازی به توضیح نیست، اول از همه بزارید چند تا مثال دیگه برای استفاده از این عملگر بزنم که با ماهیت استفاده اش آشنا بشید بعد همه ی موارد استفاده و نحوه استفاده از این عملگر تو هر کدوم رو برسی می کنیم. حالا کد زیر رو در نظر بگیرید. اما حالا پایتون . به شما این امکان رو میده تا این دو خط کد رو به یک خط کد تبدیل کنید اگر این خط کد رو اجرا کنید، value چاپ میشه و مقدارش هم توی متغیر variable ذخیره میشه. بعد ها می تونید از همین variable دوباره استفاده کنید و نیازی به دوباره محاسبه کردن نیست. (دقیقا همون کاری که در مثال قبلی انجام دادیم) مثال بعدی: فرض کنید که برنامه ای دارید که آیتم هایی رو از کاربر به عنوان ورودی میگیره و اون رو به یک لیست (سبد خرید کاربر) اضافه می کنه. و وقتی که کاربر کلمه Q رو وارد می کنه، گرفتن ورودی رو متوقف می کنه. خوب حالا این کد رو میشه اینطوری نوشت: خیلی بهتر شد مگه نه؟ دقیقا چیکار می کنه: خوب اگه دقیقا می خواید از کارش سر دربیارید، خیلی ساده است، ترمینالتون رو باز کنید و وارد کنسول پایتون بشید. حالا این کد رو اجرا کنید همین که این کد رو اجرا کنید میبینید که رو به عنوان یعنی اینکه این عبارت هم در می کنه و پس ما می تونیم از مقدار برگشتی به عنوان ورودی توابع و. استفاده کنیم و اگه دوباره نیاز به استفاده ازش داشتیم، به راحتی با استفاده از a به مقداری که قبلا حساب شده دسترسی داشته باشیم. به طور کلی هر جا از این استفاده کنید هیچ اتفاق خاصی نمی افته به غیر از اینکه اون مقدار توی متغیر گفته شده (که در سمت چپ = قرار داره) ذخیره میشه مثلا: در اینجا هیچ اتفاق خاصی نمی افته به غیر از اینکه مقادیر، هم به عنوان ورودی به تابع داده میشه و هم اینکه در یک متغیر که نامش قبلا داده شده (در سمت چپ = قرار داره) ذخیره میشه. به غیر از این، همه چیز مثل قبل کار میکنه. بعضی اوقات برخی از مقادیری که استفاده می کنیم حساب کردنشون سخته و برای اینکه برنامه از اینی که هست کند تر نشه باید فقط یک بار حسابش کنیم وگر نه دوبرابر برنامه مان کند تر میشه. یکی از مهم ترین استفاده های این عملگر برای جلوگیری از این طور موقعیت هاست نحوه نگارش ( syntax ) : شما می تونید توی خیلی از عبارت های پایتون از = استفاده کنید، نحوه استفاده اش اکثرا به این شکله: به طوری که identifier می تونه اسم یک متغیر باشه مثلا a ، و expr هم می تونه هر گونه expression پایتون به غیر از tuple بدون پرانتز باشد. هر کجا که expression داشته باشید می تونید از = استفاده کنید. مثلا: این یک expression محسوب میشه (هر کدی که منجر به تولید خروجی بشه، expression محسوب میشه، expression ها تقریبا همه جا وجود دارند) خیلی خوب این هم از نحوه استفاده اش در موقعیت های مختلف: در برخی موارد می تونید از = بدون پرانتز اطرافش استفاده کنید، مثل عبارت های شرطی، یا حلقه while اما برخی اوقات باید بین پرانتز قرارش بدید که در ادامه توضیح میدم. استفاده از = در قسمت top level کد (قسمت اصلی کد، بدون اینکه عضوی از یک statement باشه) بدون استفاده از پرانتز اشتباهه همچنین استفاده از این عبارات در سمت راست یک عبارت بدون پرانتز ممنوعه استفاده از این عبارات موقع اختصاص مقادیر به توابع به صورت کلید/مقدار ( key / value ) ، یا همون keyword argument بدون استفاده از پرانتز ممنوعه استفاده از این عبارات هنگام تعیین مقادیر پیشفرض برای پارامتر های توابع، باز هم بدون استفاده از پرانتز ممنوعه استفاده از این عبارات به عنوان annotation ، بدون پرانتز ممنوعه استفاده از این عبارات در توابعی که به صورت lambda تعریف شده اند، بدون پرانتز اشتباهه هنگام استفاده از این عبارت در fstring ها باید از پرانتز استفاده شود این عبارت درسته و مقدار رو در x ذخیره می کنه این عبارت هم از لحاظ symtax درسته اما = رو به formatter میده و نتیجه اونطوری که ما می خواهیم نیست، خوب، دونستن اینها تا به اینجا کافیه و حالا می تونید از این عملگر در برنامه های پایتونی تون استفاده کنید. ولی اگر خیلی دوست دارید راجب این عملگر اطلاعات بیشتری کسب کنید، به منبع این مطلب یعنی سری بزنید. به فکر سرمایه‌گذاری هستی؟ با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و درصد تخفیف در کارمزد معاملاتی داشته باشی