آشنایی با چند ترفند حرفهای پایتون برای کد «پایتونیکتر»
چند ترفند حرفهای پایتون که هر برنامهنویسی باید بداند
پایتون یکی از محبوبترین زبانهای برنامهنویسی است. در این مقاله با چند ترفند حرفهای آشنا میشویم که باعث میشوند کدهای شما تمیزتر و مؤثرتر باشند.
۱. استفاده از enumerate به جای شمارنده دستی
بهجای ساخت شمارنده دستی، از تابع enumerate استفاده کنید:
names = ["Ali", "Sara", "Reza"]
for i, name in enumerate(names):
print(i, name)
۲. ترکیب لیستها با zip
names = ["Ali", "Sara", "Reza"]
scores = [85, 90, 78]
for name, score in zip(names, scores):
print(f"{name} got {score}")
۳. Unpacking با *args و **kwargs
def show_info(name, *args, **kwargs):
print("Name:", name)
print("Other args:", args)
print("Keyword args:", kwargs)
show_info("Ali", 25, "Developer", city="Tehran", lang="Python")
۴. List Comprehension برای کدهای تمیزتر
numbers = [1, 2, 3, 4, 5]
squares = [n**2 for n in numbers if n % 2 == 0]
print(squares)
۵. Context Manager با with
with open("data.txt", "r") as file:
content = file.read()
print(content)
۶. تفاوت Copy سطحی و عمیق
در دستور copy اگر شیء شامل اشیاء قابل تغییر (مثل list یا dict) باشد، آنها بهصورت مرجع (reference) کپی میشوند، نه بهصورت مستقل. یعنی تغییر در دادههای داخلی روی هر دو نسخه تأثیر میگذارد. اما دستور deepcopy تمام سطوح شیء (و اشیاء تو در تو) را بهصورت مستقل کپی میکند، بنابراین تغییر در نسخهی جدید هیچ اثری روی نسخهی اصلی ندارد.
import copy
a = [[1, 2], [3, 4]]
b = copy.copy(a)
b[0][0] = 99
print(a)
b = copy.deepcopy(a)
b[0][0] = 42
print(a)
۷. قالبدهی رشتهها با F-String
name = "Ali"
age = 25
print(f"My name is {name} and I'm {age} years old.")
۸. توابع any و all
nums = [2, 4, 6]
print(all(n % 2 == 0 for n in nums))
print(any(n > 5 for n in nums))
یک لیست از دماهای هفتگی بسازید (مثلاً temps = [23, 26, 28, 21, 30, 19, 27]) و
میانگین دماهای بالاتر از ۲۵ درجه را با استفاده از List Comprehension و sum
محاسبه کنید.
مهدوی
مدرس
هنوز هیچ دیدگاهی ثبت نشده است!