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

پایتون، زبانی که به دلیل سادگی و قدرت خود انتخاب اول بسیاری از برنامهنویسان است، امکان استفاده از تکنیکهای پیشرفتهای را فراهم میکند که بهرهوری و خوانایی کد را افزایش میدهد. در این مقاله، با مجموعهای از ترفندها و تکنیکهای حرفهای آشنا میشوید که هم برای تازهکارها و هم برنامهنویسان باتجربه جذاب خواهد بود.
1. استفاده از List Comprehensions با شرایط
این تکنیک به شما اجازه میدهد لیستهای پیچیده را تنها در یک خط کدنویسی کنید.
# لیستی از مربع اعداد زوج squared_even_numbers = [x**2 for x in range(10) if x % 2 == 0]
2. Dictionary Comprehensions
با این روش، میتوانید دیکشنریهای خود را با یک خط کدنویسی ایجاد یا تغییر دهید.
# معکوس کردن کلیدها و مقادیر original_dict = {'a': 1, 'b': 2, 'c': 3} reversed_dict = {v: k for k, v in original_dict.items()}
3. استفاده از * و ** برای باز کردن دادهها
ترفندهایی برای باز کردن دادهها در لیستها و دیکشنریها.
# ادغام دیکشنریها dict1 = {'a': 1} dict2 = {'b': 2} merged = {**dict1, **dict2} # باز کردن مقادیر لیست first, *middle, last = [1, 2, 3, 4, 5]
4. حلقههای ایندکسدار با ()enumerate
به جای استفاده از متغیرهای اضافی برای شمارش، از این تابع بهره ببرید.
for i, value in enumerate(['a', 'b', 'c']): print(f"Index {i} has value {value}")
5. استفاده از namedtuple
برای کدنویسی خواناتر و تمیزتر از namedtuple بهره ببرید.
from collections import namedtuple Point = namedtuple('Point', 'x y') p = Point(1, 2) print(p.x, p.y)
6. استفاده از Default Dictionary
مدیریت کلیدهای گمشده بدون خطا.
from collections import defaultdict counts = defaultdict(int) counts['a'] += 1 # بدون خطای KeyError
7. Zipping و Unzipping
ترکیب و جدا کردن چند لیست به شکلی کارآمد.
# ترکیب دو لیست names = ['Alice', 'Bob'] scores = [85, 90] combined = list(zip(names, scores)) # جدا کردن لیستها unzipped = list(zip(*combined))
8. مرتبسازی سفارشی با sorted
با استفاده از کلیدهای دلخواه مرتبسازی کنید.
data = [{'name': 'Alice', 'score': 90}, {'name': 'Bob', 'score': 80}] sorted_data = sorted(data, key=lambda x: x['score'], reverse=True)
9. برنامهنویسی غیرهمزمان با asyncio
برای اجرای همزمان تسکها از این قابلیت استفاده کنید.
import asyncio async def main(): await asyncio.gather(task1(), task2()) async def task1(): print("Task 1") async def task2(): print("Task 2") asyncio.run(main())
10. استفاده از Walrus Operator (:==) برای بهبود کدنویسی
اپراتور والروس که از نسخه 3.8 به پایتون اضافه شده است، به شما اجازه میدهد متغیرها را مستقیماً درون یک عبارت تخصیص دهید. این ویژگی باعث کاهش تعداد خطوط کد و افزایش خوانایی میشود.
# بدون اپراتور والروس data = input("Enter some text: ") if len(data) > 10: print(f"Your input is too long: {len(data)} characters") # با اپراتور والروس if (length := len(data := input("Enter some text: "))) > 10: print(f"Your input is too long: {length} characters")
اگر میخواهید با دنیای برنامهنویسی آشنا شوید و پایههای محکم پایتون را یاد بگیرید، دوره پایتون جامع ما فرصتی عالی برای شماست!
جهت آشنایی و ثبت نام دوره پایتون جامع اینجا کلیک کنید!
ترفندهای بالا، تنها بخش کوچکی از امکانات بیپایان پایتون هستند. با بهرهگیری از این تکنیکها، کدنویسی شما به سطح جدیدی از کارایی و حرفهای بودن خواهد رسید. اگر شما هم ترفندهایی کاربردی در پایتون میشناسید، خوشحال میشویم آنها را با ما و دیگران به اشتراک بگذارید!
دیدگاهتان را بنویسید