ریز نکات پایتونی که همه باید بدانید
پایتون عالی است ، یکی از ساده ترین زبانها با سینتکس ساده و شهودی است اما صبر کنید، آیا تا به حال فکر کرده اید که راه هایی برای نوشتن کد پایتون ساده تر وجود داشته باشد؟
در این آموزش ، شما انواع ترفندهای پایتون را میآموزید که می توانید از آنها برای نوشتن کد پایتون به شیوه ای خواندنی تر و کارآمدتر مانند یک حرفه ای استفاده کنید.
دوره پیشنهادی: دوره آموزش پایتون (python)
# مبادله مقدار در پایتون
به جای ایجاد یک متغیر موقت برای حفظ مقدار یک در هنگام تعویض ، می توانید به جای آن این کار را انجام دهید:
>>> FirstName = "kalebu"
>>> LastName = "Jordan"
>>> FirstName, LastName = LastName, FirstName
>>> print(FirstName, LastName)
('Jordan', 'kalebu')
ویدیو پیشنهادی: متغیر و انواع داده ها در پایتون
# ایجاد کردن یک رشته واحد از همه عناصر موجود در لیست
به جای اینکه هر عنصر را در لیست با استفاده از حلقه تکرار کنید و هر عنصر را به رشته اضافه کنید ، می توانید به جای آن این کار را انجام دهید.
>>> python = ["Python", "Syntax" , "is", "elegantly"]
>>> python_string = ' '.join(python)
>>> print(python_string)
Python Syntax is elegantly
ویدیو پیشنهادی: آموزش رشته ها در پایتون
# ادغام دو دیکشنری در پایتون
از متد ()update برای ترکیب دو دیکشنری استفاده کنید
>>> a = {"name":"Python", "creator":"Guido"}
>>> b = {"age": 30, "gender" : None}
>>> a.update(b)
>>> print(a)
{'gender': None, 'age': 30, 'name': 'Python', 'creator': 'Guido'}
ویدیو پیشنهادی: توضیح dictionary در پایتون
# List comprehension برای ایجاد یک لیست خاص
ویدیو پیشنهادی: آموزش ویدیویی list comprehension در پایتون
در موردی که می خواهید لیستی را از یک دنباله با معیارهای مشخص ایجاد کنید ، به جای حلقه از List Comprehension استفاده کنید.
شما می خواهید معیارها را مشخص کنید. به عنوان مثال در مثال زیر ما لیستی از اعداد فرد را فقط در یک خط کد (یک خطی) ایجاد کرده ایم.
>>> odd = [x for x in range(20) if x%2 != 0]
>>> print(odd)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
# معکوس کردن یک رشته در پایتون
به راحتی می توانید رشته خود را با کمی برش مانند کد زیر معکوس کنید.
>>> quote = "doog si doG"
>>> print(quote[::-1])
God is good
# باز کردن لیست پایتون
به جای این که هر متغیر را در لیست فهرست بندی کنید یا آن را مجدداً اختصاص دهید ، این کار را یکجا با باز کردن بسته بندی آنها انجام می دهید ، همانطور که در کد زیر نشان داده شده است.
>>> names = ['Melisa', 'Lisa', 'Peace']
>>> niece, friend, crush = names
>>> print('{} {} {}'.format(niece, friend, crush))
Melisa Lisa Peace
# پیمایش در بیش از دو لیست پایتون
شما می توانید در بیش از دو لیست به طور همزمان پیمایش کنید بدون اینکه از حلقه تو در تو استفاده کنید مانند شکل زیر:
>>> books = ['mabala', 'money heist', 'GOT']
>>> pages = [200, 300, 600]
>>> for book ,page in zip(books, pages):
... print("{}--->{}".format(book, page))
...
mabala--->200
money heist--->300
GOT--->600
ویدیو پیشنهادی: ویدیو آموزش متدهای zip و enumerate در پایتون
# استفاده از all یا any در یک عبارت شرطی
ویدیو پیشنهادی: آموزش ویدیویی آموزش all و any در پایتون
به جای نوشتن بسیاری از دستورات if-else برای منطق خود ، در واقع می توانید این کار را با استفاده از کلمه کلیدی any انجام دهید.
all فقط در صورتی که همه عناصر صادق باشند روی True ارزیابی می شوند در صورتی که هر یک از شرایط متعدد بر روی True ارزیابی شوند روی True ارزیابی می شوند.
>>> data = [True, True, False]
>>> if any(data):
... print("at least")
...
at least
>>> if not all(data):
... print("Thats right")
...
That's right
# جمع تجمعی دنباله ای از اعداد
در صورتی که بخواهید مجموع تجمعی اعداد رسم داشته باشد ، می توانید این کار را با استفاده از numpy با استفاده از تابع cumsum () به راحتی انجام دهید.
>>> import numpy as np
>>> factors = list(np.cumsum(range(0,20,3)))
>>> print(factors)
[0, 3, 9, 18, 30, 45, 63]
# افزودن Index به Iterables (list ، tuple ، و غیره ..)
این کار را انجام دهید تا به طور خودکار عناصر خود را در یک Iterable فهرست بندی کنید
>>> students = ['Immaculate', 'Prisca', 'Lizy']
>>> student_with_index = list(enumerate(students))
>>> print(student_with_index)
[(0, 'Immaculate'), (1, 'Prisca'), (2, 'Lizy')]
ویدیو پیشنهادی: ویدیو آموزش ساخت آبجکت های iterable در پایتون
# import this
هنگامی که این کار را انجام می دهید ، با دیدن Zen of Python مقابل شما شگفت زده خواهید شد
import this
'''
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!'''