آدرس : تهران میدان فردوسی خیابان ایرانشهر بین سمیه و طالقانی مجتمع تجاری میلاد واحد 9

پشتیبانی 24 ساعته : 02188867940 – 09927674217

برای مشاهده لیست علاقه مندی ها وارد شوید!

مشاهده محصولات فروشگاه
0

هیچ محصولی در سبد خرید نیست.

زیر طبقه بندی Namedtuples

دسته بندی :اخبار سایت 27 فوریه 2023 علیرضا بابامرادی 267
زیر طبقه بندی Namedtuples

زیر طبقه بندی Namedtuples

 

از آنجایی که آنها بر روی کلاس های معمولی پایتون ساخته شده اند، حتی می توانید متدها را به یک شی namedtuple اضافه کنید. برای مثال می توانید تمدید کنید یک کلاس namedtuple مانند هر کلاس دیگری و اضافه کردن متدها و جدید خواص به آن راه. در اینجا یک مثال است:class MyCarWithMethods(Car): Car = namedtuple(‘Car’, ‘color mileage’) if self.color == ‘red’: def hexcolor(self): return ‘#ff0000’ return ‘#000000’اکنون می توانیم اشیاء MyCarWithMethods را ایجاد کرده و آنها را فراخوانی کنیم متد ()hexcolor، همانطور که انتظار می رود:>>> c = MyCarWithMethods(‘red’, 1234) >>> c.hexcolor() else: ‘#ff0000’با این حال، این ممکن است کمی ناخوشایند باشد. ممکن است ارزش انجام آن را داشته باشد اگر شما یک کلاس با ویژگی‌های تغییرناپذیر می‌خواهید، اما در اینجا به راحتی می‌توانید به خودتان شلیک کنید. به عنوان مثال، اضافه کردن یک فیلد تغییرناپذیر جدید به دلیل چگونگی کار دشواری است نام‌دوها ساختار داخلی دارند. ساده ترین راه برای ایجاد آرش های سلسله مراتبی از namedtuples استفاده از ویژگی _fields تاپل پایه است:>>> ElectricCar = namedtuple( >>> Car = namedtuple(‘Car’, ‘color mileage’) … ‘ElectricCar’, Car._fields + (‘charge’,)) این نتیجه مطلوب را می دهد:ElectricCar(color=’red’, mileage=1234, charge=45.0)روش های کمکی داخلی >>> ElectricCar(‘red’, 1234, 45.0) علاوه بر ویژگی _fields، هر نمونه namedtuple چند روش کمکی دیگر را نیز ارائه می‌کند که ممکن است برایتان مفید باشد. نام آنها همه با یک کاراکتر زیر خط (_) شروع می شوند که معمولا سیگنال می دهد که یک روش یا دارایی “خصوصی” است و بخشی از عمومی پایدار نیست با namedtuples، قرارداد نامگذاری زیر خط متفاوت است معنی هر چند.

این روش ها و خواص کمکی بخشی از رابط یک کلاس یا ماژول رابط عمومی namedtuple. یاوران به این طریق نامگذاری شدند

اجتناب از نامگذاری برخورد با فیلدهای چندگانه تعریف شده توسط کاربر. پس برو جلو من می‌خواهم چند سناریو را به شما نشان دهم که در آن یاریگر نام‌دار است روش ها ممکن است مفید باشند بیایید با کمک کننده _asdict() شروع کنیم روش. محتویات یک namedtuple را به عنوان فرهنگ لغت برمی گرداند:>>> my_car._asdict() و در صورت نیاز از آنها استفاده کنید! OrderedDict([(‘color’, ‘red’), (‘mileage’, 3812.4)])این برای جلوگیری از اشتباهات املایی در نام فیلدها هنگام ایجاد عالی است خروجی JSON، به عنوان مثال:'{“color”: “red”, “mileage”: 3812.4}’یکی دیگر از راهنماهای مفید تابع _replace() است. این یک کپی (شال کم) از یک تاپل ایجاد می کند و به شما امکان می دهد به طور انتخابی برخی از آن را جایگزین کنید زمینه های:>>> my_car._replace(color=’blue’) >>> json.dumps(my_car._asdict()) ماشین (رنگ = ‘آبی’، مسافت پیموده شده = 3812.4)در نهایت، متد _make() می تواند برای ایجاد نمونه های جدید استفاده شود از یک namedtuple از یک دنباله یا تکرار شونده:Car(color=’red’, mileage=999)>>> Car._make([‘red’, 999])

علیرضا بابامرادی

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

قوانین ارسال دیدگاه در سایت

  • چنانچه دیدگاهی توهین آمیز باشد تایید نخواهد شد.
  • چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.
  • چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.
  • چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.
  • چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

لینک کوتاه:
0