بايثون العرب
10.5K subscribers
866 photos
183 videos
768 links
Download Telegram
🚀 استخدام List Comprehensions لكتابة كود أكثر نظافة

بدلاً من استخدام الحلقات التكرارية (For Loops) التقليدية لإنشاء القوائم، توفر بايثون ميزة List Comprehensions التي تجعل الكود أكثر اختصاراً وكفاءة في سطر واحد.

# الطريقة التقليدية باستخدام for loop
numbers = [1, 2, 3, 4, 5, 6]
even\_numbers = []

for num in numbers:
if num % 2 == 0:
even\_numbers.append(num)

# الطريقة المختصرة باستخدام List Comprehension
even\_numbers\_v2 = [num for num in numbers if num % 2 == 0]

print(even\_numbers\_v2) # Output: [2, 4, 6]


تساعد هذه التقنية في تحسين أداء الكود (Performance) وزيادة قابليته للقراءة (Readability)، حيث يتم دمج عملية التكرار والفلترة (Filtering) في تعبير برمجي واحد وبسيط.

#Python_Arabs #Python #Programming #CleanCode #Tips
🚀 تحسين أداء الكود باستخدام List Comprehension

تُعد الـ List Comprehension من أقوى ميزات لغة Python، حيث تتيح لك إنشاء القوائم (Lists) بطريقة مختصرة وفعالة بدلاً من استخدام حلقات Loops التقليدية التي تستهلك أسطرًا أكثر.

# الطريقة التقليدية باستخدام for loop
numbers = [1, 2, 3, 4, 5]
squared\_numbers = []

for n in numbers:
squared\_numbers.append(n * 2)

# الطريقة المختصرة باستخدام List Comprehension
# [expression for item in iterable]
squared\_numbers\_short = [n * 2 for n in numbers]

# إضافة شرط (Filtering) لجلب الأرقام الزوجية فقط
even\_squared = [n * 2 for n in numbers if n % 2 == 0]

print(f"Squared: {squared\_numbers\_short}")
print(f"Even Squared: {even\_squared}")


#Python_Arabs #Python #Programming #CleanCode #Tips
❤1
📦 تبسيط التعامل مع البيانات باستخدام Dataclasses

توفر مكتبة dataclasses في بايثون طريقة فعالة لإنشاء الكائنات (Objects) المخصصة لتخزين البيانات، حيث تقوم تلقائيًا بإنشاء الدوال الأساسية مثل \_\_init\_\_ و \_\_repr\_\_ و \_\_eq\_\_ مما يقلل من كتابة الكود المكرر (Boilerplate Code).

from dataclasses import dataclass

@dataclass
class Product:
name: str
price: float
quantity: int = 0

def get\_total\_value(self) -> float:
return self.price * self.quantity

# إنشاء كائن جديد بسهولة
item1 = Product(name="Laptop", price=1200.5, quantity=5)
item2 = Product(name="Smartphone", price=800.0)

print(item1) # مخرجات تلقائية واضحة بفضل \_\_repr\_\_
print(f"Total Value: {item1.get\_total\_value()}")

# المقارنة بين كائنين تعتمد على القيم وليس مرجع الذاكرة
item3 = Product(name="Laptop", price=1200.5, quantity=5)
print(item1 == item3) # True


#Python_Arabs #Python #Tips #Programming #SoftwareEngineering