✨ شرح namedtuple واستخداماته في بايثون
هل سئمت من تذكر ترتيب العناصر في الـ tuples العادية؟ الـ namedtuple هي الحل! تتيح لك الوصول إلى عناصر الـ tuple باستخدام أسماء حقول واضحة، مما يجعل كودك أكثر قابلية للقراءة والصيانة.
الـ `namedtuple` من وحدة `collections` تسمح لك بإنشاء أنواع تشبه الـ tuples ولكن مع أسماء حقول. هذا يجعل الوصول إلى البيانات أكثر وضوحًا (مثل `person1.name`) بدلاً من الاعتماد على الفهارس (مثل `person1[0]`). كما توفر طرقًا مفيدة مثل `_make` لإنشاء كائنات من تسلسلات و `_asdict` لتحويلها إلى قواميس.
['#بايثون', '#namedtuple', '#برمجة', '#Python', '#CodingTips', '#DataStructures']
هل سئمت من تذكر ترتيب العناصر في الـ tuples العادية؟ الـ namedtuple هي الحل! تتيح لك الوصول إلى عناصر الـ tuple باستخدام أسماء حقول واضحة، مما يجعل كودك أكثر قابلية للقراءة والصيانة.
from collections import namedtuple
# تعريف namedtuple لتمثيل شخص
Person = namedtuple('Person', ['name', 'age', 'city'])
# إنشاء كائن من namedtuple
person1 = Person(name='أحمد', age=30, city='القاهرة')
person2 = Person('فاطمة', 25, 'الرياض')
# الوصول إلى العناصر بالاسم
print(f"الاسم: {person1.name}, العمر: {person1.age}, المدينة: {person1.city}")
# الوصول إلى العناصر بالترتيب (كما في الـ tuple العادية)
print(f"الاسم: {person1[0]}, العمر: {person1[1]}, المدينة: {person1[2]}")
# يمكنك أيضاً استخدام _make لإنشاء كائن من قائمة أو tuple
data = ['سارة', 22, 'دبي']
person3 = Person._make(data)
print(person3)
# و _asdict لتحويل الكائن إلى قاموس
person_dict = person1._asdict()
print(person_dict)
الـ `namedtuple` من وحدة `collections` تسمح لك بإنشاء أنواع تشبه الـ tuples ولكن مع أسماء حقول. هذا يجعل الوصول إلى البيانات أكثر وضوحًا (مثل `person1.name`) بدلاً من الاعتماد على الفهارس (مثل `person1[0]`). كما توفر طرقًا مفيدة مثل `_make` لإنشاء كائنات من تسلسلات و `_asdict` لتحويلها إلى قواميس.
['#بايثون', '#namedtuple', '#برمجة', '#Python', '#CodingTips', '#DataStructures']