پایتون با چاشنی سرعت

در این پست به 6 نکته می پردازیم که باعث افزایش سرعت کد های پایتون می شودFast & Python1. ماژول هارا به صورت کامل اضافه نکنیماضافه کردن ماژول ها در برنامه نویسی به خصوص با زبان پایتون چیزی اجتناب ناپذیر است اما در خیلی از مواقع ما به یک تابع یا چند کلاس خاص از آن ماژول احتیاج داریم . در چنین مواردی سعی کنید فقط آن توابع و کلاس هارا به برنامه خود اضافه کنید.برای مثال برنامه محاسبه جذر اعداد:import math math.sqrt(100)کندfrom math import sqrt sqrt(100)سریع2.عدم استفاده از زنجیره . ها (dot)در پایتون استفاده (dot) و فراخوانی توابع به صورت متوالی بسیار مورد استفاده قرار میگیرد . به صورت کلی مشکلی وجود ندارد اما اگر سعی کنیم از این کار تا حد امکان اجتناب کنیم عملکرد بهتری را مشاهده خواهیم کرد.نوشتن کد به این روش مرسوم نیست ولی به عنوان یک برنامه نویس پایتون خوب است بدانیم راه سریع تری هم وجود داردبرای مثال اضافه کردن یک عدد به لیست و سپس حذف آن :my_list = [1, 2, 3] my_list.append(4) my_list.remove(4)کندmy_list = [1, 2, 3] append = my_list.append remove = my_list.remove append(4) remove(4)سریع3. از + برای چسباندن رشته ها به یکدیگر استفاده نکنیداز آنجا که رشته ها در پایتون تغییر ناپذیر (immutable) هستند اینکار بسیار عملکرد برنامه را کاهش میدهدممکن است در خیلی از مواقع ما فقط قصد اضافه کردن دو رشته را به هم داشته باشیم در این موارد استفاده از + طول کد را کمتر و خوانایی آن را بیشتر می کندبرای مثال:strs = ['Life', 'is', 'short,', 'I', 'use', 'Python'] def join_strs(strs): result = '' for s in strs: result += s + ' ' return resultکندdef join_strs_better(strs): return ' '.join(strs)join_strs_better(strs)سریع4. استفاده نکردن از متغیر اضافه (temp) برای تبادل مقادیردر بسیاری از زبان ها ما برای عوض کردن مقدار دو متغییر از یک متغییر واسط استفاده میکنیمولی پایتون به ما این امکان را میدهد که بدون متغییر اضافی این کار را انجام دهیمa = 1 b = 2 temp = a a = b b = temp کندa = 1 b = 2 a, b = b, aسریع5. استفاده درست چند شرط در if این مورد در اکثر زبان های برنامه نویسی کاربرد دارد و بهتر است آنرا با یک مثال توضیح دهیم :فرض کنید لیستی از اسامی و سن آنها داریم و قصد داریم افرادی که سن آنها بزرگتر مساوی 30 و اسمشان با حرف 'C' شروع میشود را جدا کنیم my_dict = [ { 'name': 'Alice', 'age': 28 }, { 'name': 'Bob', 'age': 23 }, { 'name': 'Chris', 'age': 33 }, { 'name': 'Chelsea', 'age': 2 }, { 'name': 'Carol', 'age': 24 }]در نتیجه ما در اینجا دو شرط داریم سن مساوی یا بالای 30شروع اسم با حرف 'C'به دو صورت میتوانیم if مورد نظر را بنویسیم:در حالت اول ابتدا اسم را چک کرده و سپس سن را . در این حالت در شرط اول که چک کردن اسامی است سه اسم True میشوند و شرط دوم که چک کردن سن است برای هر سه اسم تکرار خواهد شددر حالت دوم اول سن را چک می کنیم که تنها یک نفر True میشود و سپس اسم آن فرد هم چک میشودبه داخل کد برویم:filtered_list = [] for person in my_dict: if person['name'].startswith('C') and person['age'] >= 30: filtered_list.append(person)کندسریع6. از حلقه while استفاده نکنساختار زبان پایتون به صورتی پیاده سازی شده است که حلقه for عملکرد بهتری داردپس در مواردی که میتوان از حلقه for استفاده کرد از حلقه while استفاده نکنید حلقه for علاوه بر عملکرد بهتر زیبایی و خوانایی بیشتری نیز داردمثالی برای مورد آخر :result = 0 max_number = 10 i = 0 while i < 10: result += i i +=1کندresult = 0max_number = 10for i in range(max_number): result += iسریعممنون از همراهیت ❤️اگر علاقه دارید این مقاله را به زبان اصلی مطالعه کنید میتوانید از لینک زیر استفاده کنید: https://towardsdatascience.com/6-bad-manners-makes-your-python-program-slower-15b6fce62927