12 نکته و ترفند پایتون برای نوشتن کد بهتر
ترفند پایتون برای نوشتن کد بهتر
با ماندن در جدیدترین ویژگی ها ، تکنیک ها ، نکات و ترفندهای پایتون ، کیفیت کد خود را بهبود بخشید. در ادامه با وبلاگ هاستینجا همراه باشید.
۱٫ F-Strings
F-Strings روشی مختصر و راحت برای جاسازی کردن عبارات پایتون در متن های مختلف برای قالب بندی ارائه دهید.
ابتدا بگذارید دو متغیر name و age را که می خواهید در بیانیه print ما بگنجانید تعریف کنیم.
1 2 |
name = "Pavel" age = 23 |
برای مقابله با همخوانی رشته یا استفاده از کاما در متن بیانیه ، می توانید از نحو بهبود یافته قالب بندی پایتون “F-Strings” استفاده کنید که با Python 3.6 منتشر شده است.
به سادگی یک حرف کوچک یا بزرگ “f” را قبل از رشته با متغیرها یا اصطلاحات درون بندهای مجعد قرار دهید.
F-Strings روش جدید جدیدی برای قالب بندی رشته ها هستند و نسبت به سایر روش های قالب بندی ، بیشتر در معرض خطا هستند و قابل خواندن ، سریعتر ، مختصر و کمتر در معرض خطا هستند!
۲٫ عملکرد راهنما
از تابع help Python برای جستجوی اسناد و مدارک ماژول ها ، توابع ، کلاس ها ، کلمات کلیدی و غیره استفاده می شود.
برای بازیابی اسناد مربوط به آن شی ، به سادگی یک شیء را در داخل تابع help قرار دهید:
۳٫ اندازه هر شیء را پیدا کنید
ماژول پیش فرض sys شامل یک تابع getizeof است که یک جسم را می گیرد و اندازه آن را با بایت باز می گرداند. جسم می تواند از هر نوع باشد.
برای مثال:
فقط مصرف حافظه که مستقیماً به جسم نسبت داده شده است ، مصرف می شود و نه مصرف حافظه اشیاء که به آن اشاره می شود.
مثالی دیگر:
۴٫زنجیره ای از عملگرهای مقایسه
به طور معمول برای بررسی بیش از دو شرط ، باید از اپراتورهای منطقی مانند and / or استفاده کنید
1 |
if a < b and b < c: |
در پایتون ، روش بهتری برای نوشتن این مقاله با استفاده از عملگر مقایسه (Chaining) وجود دارد.
زنجیره عملگرها را می توان به شرح زیر نوشت:
1 |
if a < b < c: |
مثلا:
ترفند پایتون برای نوشتن کد بهتر
۵٫ درک مطلب را فهرست کنید
درک لیست یک روش دیگر و اغلب اوقات ظریف تر برای تهیه لیست است.
به جای ایجاد لیست خالی و اضافه کردن هر عنصر به انتها ، می توانید با دنبال کردن این قالب ، لیست و محتویات آن را به طور همزمان تعریف کنید:
1 |
new_list = [expression for item in iterable (if conditional)] |
مثلا:
مثال دیگر (با شرط):
۶٫ ضرب رشته
در پایتون ، نه تنها تعداد بلکه تعداد رشته ها نیز ضرب می شود.
مثلا:
۷٫ چندین متغیر را به یک خط اختصاص دهید
با جدا کردن متغیرها و مقادیر با کاما می توانید چندین مقدار را به چندین متغیر اختصاص دهید:
این کار همچنین در هنگام تخریب / باز کردن توالی ها از جمله لیست یا تاپل انجام می شود و یک روش ظریف تر برای اختصاص عناصر یک دنباله به متغیرهای فردی است زیرا نیازی به استفاده از حلقه یا جدا کردن جداگانه از عناصر دنباله نیست.
۸٫ متغیرها را در محل تعویض کنید
در بسیاری از زبانهای برنامه نویسی دیگر مبادله مقادیر دو یا چند متغیر فقط با تعیین متغیر سرعت اضافی (موقتی) انجام می شود.
بگویید که می خواهید x و y را تعویض کنید:
1 2 3 |
temp = x x = y y = temp |
در پایتون ، یک ساختار یک خط ساده برای مبادله متغیرها وجود دارد ، شبیه به مفهوم انتساب مقادیر به متغیرهای مختلف در یک خط.
کد زیر مانند گذشته اما بدون استفاده از متغیرهای موقتی عمل می کند:
۹٫ Enum ایجاد کنید
Enum یک کلاس در Python برای ایجاد شمارش است ، که مجموعه ای از نام های نمادین هستند که به مقادیر منحصر به فرد و ثابت متصل شده اند.
برای ایجاد یک Enum ، لازم است یک کلاس ایجاد کنید که نام آنوم مورد نظر شما باشد.
تنها کاری که برای انجام کار باقی مانده این است که متغیرها را لیست کرده و آنها را برابر با مقادیر مورد نظر خود قرار دهید:
برای دسترسی به مثال enumPaula به عنوان مثال ، فقط می توانید Person.Paul را انجام دهید که ۰ را برمی گرداند.
در پایتون با ذکر متغیرها در کنار یکدیگر و تنظیم آنها برابر با عملکرد دامنه ، مثال بالا را می توان کوتاه کرد:
ترفند پایتون برای نوشتن کد بهتر
۱۰٫ بشمار
غالباً هنگام حلقه کردن در لیست ، می خواهید نه تنها به فهرست با موقعیت در لیست بلکه به عنصر واقعی دسترسی داشته باشید.
بگذارید لیستی از شخصیت ها را تعریف کنیم:
1 |
x = ['a', 'b', 'c'] |
به جای حل کردن آن از طریق روش استاندارد ، به عنصر و فهرست دسترسی پیدا کنید:
از شمارش تعداد استفاده کنید
Enumerate یک تابع داخلی پایتون است و به ما امکان می دهد تا یک تکرار شونده را حلقه بزنیم و یک پیشخوان اتوماتیک داشته باشیم. این اساساً عناصر موجود در لیست ما را با شاخص مربوطه جفت می کند. بیشتر افراد تازه وارد و حتی برخی از برنامه نویسان پیشرفته از آن بی خبر هستند.
می توانید متغیرهای i و v را به نام متغیرهایی که ترجیح می دهید تغییر دهید. به عنوان مثال ، برای فهرست ، تعداد را (x) حساب کنید.
۱۱٫ عملکرد Dir
() dir یک تابع قدرتمند داخلی در Python3 است که لیستی از ویژگی ها و روش های هر شیء یعنی توابع ، ماژول ها ، رشته ها ، لیست ها ، دیکشنری ها و غیره را برمی گرداند.
این امر می تواند در هنگام کمبود اطلاعاتی در مورد ماژول بسیار مفید باشد و به یادگیری سریعتر ماژول های جدید کمک می کند.
مثلا:
dir () اغلب برای اهداف اشکال زدایی استفاده می شود. توانایی dir () برای مشخص کردن تمام خصوصیات پارامتر عبور داده شده ، هنگام کار با بسیاری از کلاس ها و عملکردها ، بطور جداگانه ، بسیار مفید است.
۱۲٫ Argument Unpacking
گاهی اوقات به نام اپراتور Splat یا Scatter * هنگامی کار می کند که آرگومان های موجود در یک لیست / توپل برای یک تماس عملکردی که نیاز به آرگومان های موقعیتی جداگانه داشته باشد ، باید بسته شوند.
به عنوان مثال ، عملکرد () range توجیهی از آرگومان های شروع و توقف جداگانه دارد. شما می توانید از اپراتور * برای جدا کردن آرگومان های خارج از لیست یا در هنگام نوشتن تماس عملکرد استفاده کنید:
بیایید یک لیست ساده x = [1،۲،۳،۴،۵] تعریف کنیم
مثال معمول اپراتور باز کردن استفاده از print است:
1 |
print(*x) // Result: 1 2 3 4 5 |
با استفاده از این عملگر Unpack ، عناصر موجود در لیست را به دست می آورد و آنها را به عنوان یک پارامتر منتقل می کند ، بنابراین عنصر لیست را در کنار یکدیگر قرار می دهد. ۴،۵).
این ترفند پایتون اغلب در توابع مورد استفاده قرار می گیرد تا همه آرگومان هایی که فراخوانی متد در یک متغیر واحد دریافت می کند ، بسته بندی شود.
مثلا:
عملکرد فوق می تواند مقدار نامحدودی از آرگومان ها را بگیرد (args [0] و args [1] به ترتیب اولین و دومین آرگومان را به شما می دهد).
در یک روش مشابه ، فرهنگ لغت می توانند آرگومان های کلمه کلیدی را با اپراتور ** ارائه دهند.
بیایید یک فرهنگ لغت پایتون به نام person تعریف کنیم:
1 |
person = {"name": "Paul", "age": 23, "location": "London"} |
می توانید از اپراتور ** برای انتقال در یک فرهنگ لغت به یک تابع استفاده کنید.
فرهنگ لغت وارد شده کلیدها را به عنوان آرگومان های کلمه کلیدی عملکرد تجزیه می کند و سپس مقدار آن را به عنوان مقدار واقعی که برای آن آرگومان گذرده است ، می گیرد.
مثلا:
از از اینکه همراه ما بودید متشکرم و امیدوارم که این مقاله برای شما مفید بوده باشد!