خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

7 ترفند برای نوشتن بهتر کد پایتون

کد پایتون خود را با این نکات مفید و ساده پاک کنید.

نوشتن کد کار همیشه کافی نیست. شما باید سعی کنید کدی با ساختار مناسب بنویسید که درک آن نیز آسان باشد. کد پاک نگهداری نرم افزار را برای شما و دیگران آسان می کند.

پایتون دارای ویژگی ها و توابع زیادی است که می تواند به شما در نوشتن کدهای تمیزتر کمک کند. یک تعدادی از بهترین هاش اینجاست.

1. بسته شدن منابع را با Context Manager به صورت خودکار انجام دهید

زمانی که کد شما با منابع زیادی در تعامل است، بستن دستی منابع ممکن است ناخوشایند باشد. ممکن است فراموش کنید یک منبع را ببندید. این باعث می شود برنامه شما از منابع سیستم به طور ناکارآمد استفاده کند که می تواند منجر به نشت حافظه شود.

این کد یک فایل را باز می کند، سپس آن را به صورت دستی می بندد:

file = open('test.txt', 'r')
file_contents = file.read()
file.close()
words = file_contents.split(' ')
word_count = len(words)
print(word_count)

شما می توانید بسته شدن فایل را با استفاده از یک مدیر زمینه به طور خودکار انجام دهید. مدیران زمینه منابع را برای شما مدیریت می کنند، بنابراین لازم نیست به یاد داشته باشید که آنها را به صورت دستی مدیریت کنید. از عبارت with برای ایجاد زمینه ای برای مدیریت یک منبع استفاده کنید:

with open('test.txt', 'r') as file:
    file_contents = file.read()
    words = file_contents.split(' ')
    word_count = len(words)
    print(word_count)

کد موجود در این بلوک در متن فایلی که باز می شود اجرا می شود. پایتون به طور خودکار آن فایل را هنگامی که کد از آن متن خارج می شود، می بندد، حتی اگر یک استثنا رخ دهد.

2. نوشتن بیانیه های شرطی تمیزتر

ممکن است هنگام برخورد با عبارات if-else، کدهای غیرضروری زیادی بنویسید. پایتون دارای عملگرهای سه تایی است که به شما کمک می کند عبارات فشرده تری بنویسید. بلوک کد زیر یک دستور if-else معمولی را نشان می دهد.

condition = True

if condition:
    x = 1
else:
    x = 0

print(x)

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

condition = True
x = 1 if condition else 0
print(x)

توجه به این نکته مهم است که هنگام اجرای منطق ساده باید از عملگرهای سه تایی استفاده کنید. در منطق پیچیده تر و عبارات شرطی تو در تو، درک عملگر سه تایی ممکن است سخت شود.

مطلب مرتبط:   آشنایی با توکن های جنگو CSRF: آنها چیست و چرا به آنها نیاز دارید

3. پیگیری اقلام با تابع Enumerate

هنگام تکرار در لیست پایتون، می توانید به دو طریق به فهرست آیتم فعلی دسترسی داشته باشید. یکی از راه ها استفاده از حلقه for سنتی است. این به خوبی کار می کند، اما کد آنقدر که می تواند تمیز نیست. همچنین از شما می خواهد که ایندکس را به صورت دستی مقداردهی اولیه کنید.

cars = ['Bugatti', 'Mercedes', 'Toyota']
index = 0

for car in cars:
    print(index, car)
    index += 1

راه دیگر استفاده از تابع enumerate داخلی پایتون است. این به شما این امکان را می دهد که در حین حلقه زدن به ایندکس و مقدار مربوطه در لیست دسترسی داشته باشید.

cars = ['Bugatti', 'Mercedes', 'Toyota']

for index, car in enumerate (cars):
    print(index, car)

اکنون لازم نیست فهرست را به صورت دستی پیگیری کنید.

4. حلقه زدن بر روی چندین لیست با تابع Zip

همچنین می توانید از تابع enumerate برای حلقه زدن چندین لیست به طور همزمان استفاده کنید. فهرست اولین لیست را دریافت کنید، سپس از آن برای دسترسی به مقادیر مربوطه در لیست های دیگر استفاده کنید.

english_names = ['food', 'water', 'car']
spanish_names = ['alimento', 'agua', 'auto']

for index, name in enumerate(english_names):
    spanish = spanish_names [index]
    print (f' {name} in spanish is {spanish}')

این به خوبی کار می کند، اما اگر تعداد لیست ها افزایش یابد، باید کدهای غیر ضروری زیادی بنویسید. برای نوشتن کد پاک کننده می توانید از تابع zip استفاده کنید و نام لیست خود را به آن ارسال کنید.

english_names = ['food', 'water', 'car']
spanish_names = ['alimento', 'agua', 'auto']

for english, spanish in zip(english_names, spanish_names):
    print(f' {english} in spanish is {spanish}')

شما باید از تابع enumerate برای حلقه زدن روی یک لیست استفاده کنید. اما اگر چندین لیست را با هم مرور می کنید، از تابع zip استفاده کنید.

مطلب مرتبط:   نحوه وارد کردن و صادرات داده های CSV در PostgreSQL

5. مخفی کردن ورودی حساس کاربر با GetPass

هنگام وارد کردن اطلاعات حساس، ورودی نباید به صورت متن ساده بر روی صفحه نمایش قابل مشاهده باشد. روش معمول برای گرفتن ورودی در پایتون استفاده از تابع ورودی است:

username = input('Username: ')
password = input('Password: ')
print('Logging In...')

با این حال، عملکرد ورودی رمز عبور را به صورت متن ساده روی صفحه در هنگام تایپ قابل مشاهده می کند. برای اطمینان از اینکه رمز عبور روی صفحه نمایش داده نمی شود، باید به جای آن از تابع getpass استفاده کنید:

from getpass import getpass
username = input('Username: ')
password = getpass('Password:')
print('Logging In...')

ماژول getpass بخشی از کتابخانه استاندارد پایتون است، بنابراین نیازی به نصب آن ندارید.

6. خوانایی اعداد بزرگ با استفاده از متغیرهای Underscore

وقتی در برنامه خود با اعداد زیادی سروکار دارید، خواندن آنها در یک نگاه بسیار سخت است. اختصاص دادن اعداد نادرست به متغیرها منجر به یک برنامه معیوب می شود و تشخیص این خطا می تواند بسیار سخت باشد.

num1 = 10000000000
num2 = 100000000
total = num1 + num2
print(total)

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

num1 = 10_000_000_000
num2 = 100_000_000
total = num1 + num2
print(f'{total:,}')

رشته f در تابع چاپ خروجی را با استفاده از جداکننده هزاران جدا می کند.

7. استفاده از تابع Help برای کسب اطلاعات بیشتر در مورد یک ماژول

تابع help در پایتون بسیار مهم است. به شما اطلاع می دهد که چگونه از ماژولی که نصب کرده اید استفاده کنید. برای استفاده از آن، ماژول را نصب کنید، سپس مفسر پایتون را در ترمینال راه اندازی کنید و به مسیری که ماژول را نصب کرده اید اشاره کنید. ماژول را وارد کنید و در نهایت نام ماژول را به تابع help ارسال کنید.

مطلب مرتبط:   چگونه بهترین فایل های README را بنویسیم

مراحل استفاده از تابع کمک در ترمینال

برای کشف اینکه از کدام روش ها و ویژگی هایی می توانید استفاده کنید، تابع help را با تابع dir جایگزین کنید.

مراحل استفاده از تابع dir در ترمینال

تابع dir متدها و ویژگی‌هایی را برمی‌گرداند که ماژول از کل مستندات پشتیبانی نمی‌کند. این برای زمانی مفید است که می خواهید نگاهی اجمالی به کارهایی که ماژول انجام می دهد داشته باشید.

نوشتن کدهای پاک کننده پایتون

پایتون یک زبان بسیار متنوع است. مانند هر زبان دیگری، به مرور زمان در نوشتن کدهای پاکتر پایتون بهتر خواهید شد.

پایتون ماژول ها و توابع داخلی زیادی دارد. در برخی موارد، به دلیل عدم آگاهی از وجود یک تابع خاص، می توانید کدهایی بنویسید که خوانا نیستند. برای اطمینان از آگاهی بیشتر، باید مقالات بیشتری در مورد نحوه نوشتن کد بهتر بخوانید.