بايثون العرب
10.5K subscribers
866 photos
183 videos
768 links
Download Telegram
📦 تبسيط كتابة الكلاسات باستخدام Dataclasses

بدلاً من كتابة الدوال المتكررة مثل \_\_init\_\_ و \_\_repr\_\_ يدوياً، توفر مكتبة dataclasses (التي أُضيفت في إصدار 3.7) طريقة مختصرة واحترافية لتعريف الكلاسات التي تهدف لتخزين البيانات، مما يقلل من الـ Boilerplate code ويجعل الكود أكثر قابلية للقراءة.

from dataclasses import dataclass

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

def total\_cost(self) -> float:
return self.price * self.quantity

# إنشاء كائن جديد (Object)
item = Product(name="Laptop", price=1200.5, quantity=2)

# طباعة الكائن (توليد \_\_repr\_\_ تلقائياً)
print(item) # Output: Product(name='Laptop', price=1200.5, quantity=2)

# حساب التكلفة الإجمالية
print(f"Total: {item.total\_cost()}")


أهم المميزات:
1. توليد دوال \_\_init\_\_ و \_\_repr\_\_ و \_\_eq\_\_ تلقائياً.
2. دعم القيم الافتراضية للـ Attributes.
3. تحسين وضوح الكود وسهولة صيانته.
4. توافق تام مع الـ Type Hinting.

#Python #PythonArabs #Programming #Tips #CleanCode
❤1
🚀 استخدام 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