ویدیو آشنایی با namedTuples در پایتون
در پایتون namedTupleها این امکان رو بوجود آوردن تا ما بتونیم به هرکدوم از آیتمها در یک tuple اسم بدیم و برای دسترسی به هرکدوم از اون آیتم ها بتونیم از اون اسم ها استفاده کنیم.
برای ایجاد کردن namedTupleها میتونید به شکل زیر کار کنید:
from collections import namedtuple
nt = namedtuple('Person', 'name age height')
p1 = nt('amir', 20, 180)
در کد بالا اول از ماژول collection کلاس namedTuple رو وارد کردیم. در خط دوم یک آبجکت جدید از کلاس namedTuple ایجاد کردیم.
به طور کلی کلاس namedTuple دوتا مقدار میگیره. اول اسم اون tuple و بعدی اسم فیلدهایی که قراره تاپلتون داشته باشه. اسم فیلدها رو میتونید به شکل یک لیست و یا string ساده بنویسید.
برای مقدار دهی به اون تاپل، اسم آبجکت رو صدا میزنید و مقدارهاتون رو به ترتیب براش ارسال میکنید.
برای خوندن اطلاعات از داخل یک namedTuple میتونید از روش های زیر استفاده کنید:
print(p1)
>> Person(name='amir', age=20, height=180)
print(p1[1])
>> 20
print(p1.name)
>> amir
print(getattr(p1, 'height'))
>> 180
در پایتون namedTupleها به شما چندین متد هم میدن که میتونید از اونها استفاده کنید:
اولین متد _asdict هستش و به شما اجازه میده نتیجه رو به شکل یک دیکشنری ببینید:
print(p1._asdict())
>> OrderedDict([('name', 'amir'), ('age', 20), ('height', 180)])
متد بعدی _fields هستش که اسم فیلدها رو به شما برمیگردونه:
print(p1._fields)
>> ('name', 'age', 'height')
برخلاف تاپل ها شما میتونید مقادیر یک namedTuple ها رو تغییر بدین. برای اینکار از متد _replace استفاده میکنید:
p1 = p1._replace(name='jack')
print(p1)
>> Person(name='jack', age=20, height=180)
اگر ویدیو بالا را دوست داشتید پیشنهاد میکنیم به مطالب زیر هم سر بزنید:
آموزش کار با markdown در پایتون
آموزش متدهای hasattr, getattr, setattr, delattr در پایتون
آموزش فانکشن های any و all در پایتون
دوره اول آموزش پروژه محور پایتون
آموزش آبجکت های container در پایتون
ارسال نظر