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

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

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

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

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

روش‌های نمونه، کلاس و استاتیک ابهام زدایی شده

دسته بندی :اخبار سایت 27 فوریه 2023 علیرضا بابامرادی 151
روش‌های نمونه، کلاس و استاتیک ابهام زدایی شده

روش‌های نمونه، کلاس و استاتیک ابهام زدایی شده

در این مقالات خواهید دید که در پس متدهای کلاس، متدهای استاتیک، اگر درک شهودی برای تفاوت های آنها ایجاد کنید، این کار را خواهید کرد بتواند پایتون شی گرا بنویسد که مقصود خود را بیان کند و متدهای نمونه معمولی در پایتون. اجازه دهید با نوشتن یک کلاس (Python 3) که شامل مثال‌های ساده است، شروع کنیم برای هر سه نوع روش:class MyClass: واضح تر است و در دراز مدت نگهداری آسان تر خواهد بود. return ‘instance method called’, self @classmethod def classmethod(cls): def method(self): return ‘class method called’, cls def staticmethod(): @staticmethod return ‘static method called’نکته برای کاربران Python 2: @staticmethod و @classmethod dec orators از پایتون 2.4 در دسترس هستند و بنابراین این مثال کار خواهد کرد. همانطور که هست به جای استفاده از یک اعلان کلاس ساده MyClass، ممکن است انتخاب کنید که یک کلاس جدید به سبک ارث بری از شی با استفاده از نحو کلاس MyClass(object). اما غیر از این، شما طلایی هستید! اولین متد در MyClass به نام متد، یک نمونه معمولی است روش. این روش اصلی و بدون حاشیه است که بیشتر از آن استفاده خواهید کرد زمان.

می‌توانید ببینید که متد یک پارامتر خود را می‌گیرد،

که هنگام فراخوانی متد به نمونه‌ای از MyClass اشاره می‌کند. اما از البته، روش‌های نمونه می‌توانند بیش از یک پارامتر را بپذیرند. از طریق پارامتر self، متدهای نمونه می‌توانند آزادانه به tributes و سایر متدهای روی یک شی دسترسی داشته باشند. این به آنها چیزهای زیادی می دهد وقتی نوبت به تغییر حالت یک شی می رسد، از قدرت برخوردار است. آنها نه تنها می توانند وضعیت شی را تغییر دهند، بلکه روش های نمونه نیز می توانند از طریق ویژگی self.__class__ به خود کلاس دسترسی پیدا کنید. این به این معنی است که متدهای نمونه می توانند وضعیت کلاس را نیز تغییر دهند.روش های کلاس روش های نمونه بیایید آن را با روش دوم، MyClass.classmethod مقایسه کنیم. من این روش را با دکوراتور @classmethod5 علامت گذاری کرده تا آن را به عنوان علامت گذاری کنید به جای پذیرش یک پارامتر self، متدهای کلاس یک پارامتر cls می گیرند که به کلاس – و نه نمونه شی – اشاره می کند. روش نامیده می شود. روش کلاس از آنجایی که متد کلاس فقط به این آرگومان cls دسترسی دارد، نمی‌تواند تغییر وضعیت نمونه شی که مستلزم دسترسی به خود است. با این حال، روش‌های کلاس همچنان می‌توانند وضعیت کلاس را که در همه اعمال می‌شود، تغییر دهند.روش سوم، MyClass.staticmethod با علامت علامت گذاری شد دکوراتور @staticmethod6 تا آن را به عنوان یک روش ایستا علامت گذاری کنید. این نوع روش یک پارامتر self یا cls نمی گیرد، اگرچه، روش های استاتیک البته، می توان تعداد دلخواه پارامترهای دیگر را پذیرفت

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

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

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

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

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

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

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

لینک کوتاه:
0