آموزش میانبرها در برنامه نویسی شی گرا در پایتون

3 سال پیش
میانبرها در برنامه نویسی شی گرا در پایتون
امتیاز دهید post

آموزش میانبرها در برنامه نویسی شی گرا در پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش میانبرها در برنامه نویسی شی گرا در پایتون خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون و جنگو

این درس به طور مفصل در مورد میانبرها در برنامه نویسی شی گرا در پایتون و توابع مختلف توکار در پایتون، عملیات ورودی و خروجی فایل و مفاهیم اضافه بار صحبت می کند.

 

آموزش توابع توکار پایتون

مفسر پایتون تعدادی توابع به نام توابع توکار دارد که به راحتی برای استفاده در دسترس هستند. در آخرین نسخه خود، پایتون شامل 68 تابع توکار است که در جدول زیر آمده است-

 

توابع توکار پایتون
()abs ()dict ()help ()min ()setattr
()all ()dir ()hex ()next ()slice
()any ()divmod ()id ()object ()sorted
()ascii ()enumerate ()input ()oct ()staticmethod
()bin ()eval ()int ()open ()str
()bool ()exec ()isinstance ()ord ()sum
()bytearray ()filter ()issubclass ()pow ()super
()bytes ()float ()iter ()print ()tuple
()callable ()format ()len ()property ()type
()chr ()frozenset ()list ()range ()vars
()classmethod ()getattr ()locals ()repr ()zip
()compile ()globals ()map ()reversed ()__import__
()complex ()hasattr ()max ()round
()delattr ()hash ()memoryview ()set

 

این بخش به طور خلاصه برخی از تابعهای مهم را مورد بحث قرار می دهد –

آموزش تابع ()len 

تابع ()len طول رشته ها، لیست ها یا مجموعه ها را دریافت می کند. طول یا تعداد موارد یک شیء را برمی گرداند، جایی که شیء می تواند یک رشته، لیست یا مجموعه باشد.

 

تابع ()len به صورت توکار مانند ()list .__ len __  یا ()tuple .__ len __  عمل می کند. بنابراین، توجه داشته باشید که ()len فقط روی اشیایی کار می کند که دارای متد ()__len __ هستند.

 

با این حال در عمل ما به دلیل تابع _()len  را به () __len__ به دلایل زیر ترجیح می دهیم –

 

  • کارآمدتر است. و ضروری نیست که یک روش خاص برای امتناع از دسترسی به روشهای خاص مانند __len__ نوشته شود.
  • نگهداری آن آسان است.
  • از سازگاری عقب پشتیبانی می کند.

 

معکوس (seq)

تکرار کننده معکوس را برمی گرداند. seq باید شیئی باشد که متد _reversed__() یا پروتکل توالی روش () __len __ و روش () __getitem __ را پشتیبانی می کند. به طور کلی برای حلقه ها استفاده می شود وقتی می خواهیم موارد را از عقب به جلو حلقه بزنیم.

 

حلقه for در انتها لیست معکوس یک لیست معمولی و نمونه های دو دنباله سفارشی را چاپ می کند. خروجی نشان می دهد که  ()reversed روی هر سه مورد کار می کند ، اما وقتی __reversed__ را تعریف می کنیم نتایج بسیار متفاوتی دارد.

خروجی

هنگام اجرای کد بالا می توانید خروجی زیر را مشاهده کنید –

 

متد ()enumerate  یک شمارنده را به یک تکرار شونده اضافه می کند و شیء شمارش شده را برمی گرداند.

نحو ()enumerate این است –

 

در اینجا شروع آرگومان دوم اختیاری است و به طور پیش فرض شاخص با صفر (0) شروع می شود.

 

بنابراین ()enumerate  یک تکرار کننده را باز می گرداند که یک تاپل را نشان می دهد که تعداد عناصر در دنباله منتقل شده را حفظ می کند. از آنجا که مقدار بازگشتی یک تکرار کننده است، دسترسی مستقیم به آن چندان مفید نیست. یک رویکرد بهتر برای ()enumerate  نگه داشتن تعداد در یک حلقه for است.

 

بسیاری از توابع دیگر در کتابخانه استاندارد وجود دارد و در اینجا لیستی دیگر از توابع بیشتر مورد استفاده قرار می گیرد –

  • hasattr ،getattr ،setattr و delattr  که اجازه می دهد ویژگی های یک شی با نام رشته آنها دستکاری شود.
  • all و any، که یک شی تکرار شونده را می پذیرند و اگر همه یا هر یک از موارد به عنوان درست ارزیابی شوند ، True را برمی گردانند.
  • nzip، که دو یا چند دنباله می گیرد و یک دنباله جدید از چندتایی را برمی گرداند ، که در آن هر تاپل از هر دنباله یک مقدار واحد دارد.

 

فایل ورودی/خروجی

مفهوم فایل ها با عبارت برنامه نویسی شی گرا مرتبط است. پایتون رابط کاربری سیستم عامل ها را بصورت انتزاعی ارائه کرده است که به ما امکان کار با اشیاء فایل را می دهد.

تابع ()open  ساخته شده برای باز کردن یک فایل و بازگشت یک شیء فایل استفاده می شود. این متداول ترین تابع با دو آرگومان است –

 

تابع ()open دو آرگومان می خواند، اول نام فایل و دوم state. در اینجا state می تواند برای حالت فقط خواندنی r باشد ، فقط برای نوشتن w. تا انتها ‘r+’ فایل را برای خواندن و نوشتن باز می کند. حالت پیش فرض فقط قابل خواندن است.

در پنجره ها، “b” ضمیمه به حالت پرونده را در حالت باینری باز می کند، بنابراین حالت هایی مانند “rb” ، “wb” و “r+b” نیز وجود دارد.

 

در برخی موارد، ما فقط می خواهیم فایل موجود را ضمیمه کنیم و نه آن را بیش از حد بنویسیم، زیرا می توانیم مقدار “a” را به عنوان یک آرگومان حالت اضافه کنیم تا به انتهای فایل اضافه شود ، نه اینکه فایل موجود را کاملاً بازنویسی کنیم. فهرست.

 

هنگامی که یک فایل برای خواندن باز می شود، می توانیم متد read ،readline یا خطوط خواندن را برای بدست آوردن محتویات فایل فراخوانی کنیم. متد read بسته به اینکه آرگومان دوم ‘b’ باشد ، کل محتویات فایل را به عنوان یک شی str یا bytes باز می گرداند.

برای خوانایی و جلوگیری از خواندن یک فایل بزرگ در یک زمان، اغلب بهتر است از حلقه for به طور مستقیم بر روی یک شیء فایل استفاده کنید. برای فایل های متنی، هر خط را یک به یک می خواند و ما می توانیم آن را در داخل بدن حلقه پردازش کنیم. برای فایل های باینری، بهتر است تکه های داده با اندازه ثابت را با استفاده از روش ()read  بخوانید و پارامتری را برای حداکثر تعداد بایت برای خواندن ارسال کنید.

 

نوشتن روی یک فایل، از طریق روش نوشتن بر روی اشیاء فایل یک رشته شی  صورت می گیرد. متد نوشتاری دنباله ای از رشته ها را می پذیرد و هر یک از مقادیر تکراری را در فایل می نویسد. روش نگارش خط بعد از هر مورد در دنباله خط جدیدی اضافه نمی کند.

سرانجام هنگام بستن یا خواندن فایل، روش ()close را باید فراخوانی کرد تا مطمئن شویم که نوشته های بافر شده روی دیسک نوشته شده اند، فایل به درستی پاک شده است و همه منابع مرتبط با فایل به عقب بازگردانده می شوند. سیستم عامل رویکرد بهتری برای فراخوانی متد ()close  است اما از نظر فنی این امر به صورت خودکار هنگامی که اسکریپت وجود داشته باشد اتفاق می افتد.

جایگزینی برای اورلود کردن روش

اورلود روش به داشتن چندین روش با یک نام اشاره می کند که مجموعه های مختلف آرگومان را می پذیرند.

با توجه به یک روش یا تابع واحد، می توانیم تعداد پارامترها را خودمان تعیین کنیم. بسته به تعریف تابع، می توان آن را با صفر، یک، دو یا چند پارامتر فراخوانی کرد.

 

خروجی

 

 

آموزش آرگومان های پیش فرض در برنامه نویسی شی گرا در پایتون

یک شیء قابل فراخوانی یک شی است که می تواند برخی از آرگومان ها را بپذیرد و احتمالاً یک شی را برمی گرداند. یک تابع ساده ترین شیء قابل فراخوانی در پایتون است ، اما برخی دیگر نیز شبیه کلاس ها یا نمونه های کلاس خاصی هستند.

هر تابع در پایتون یک شی است. اشیاء می توانند شامل متدها یا توابع باشند اما شیء یک تابع ضروری نیست.

 

در کد بالا ما می توانیم دو تابع مختلف را به عنوان آرگومان به تابع سوم خود منتقل کنیم و برای هر یک خروجی متفاوتی دریافت کنیم –

 

اشیاء قابل فراخوانی

همانطور که توابع اجسامی هستند که می توانند ویژگی هایی روی آنها داشته باشند، می توان یک شی ایجاد کرد که بتوان آن را مانند یک تابع فراخوانی کرد.

در پایتون هر شی با روش ()__call __  می تواند با استفاده از function-call فراخوانی شود.

 

منبع.

لیست جلسات آموزش برنامه نویسی شی گرا در پایتون

  1. آموزش برنامه نویسی شی گرا در پایتون
  2. آموزش مقدماتی برنامه نویسی شی گرا در پایتون
  3. آموزش راه اندازی محیط برنامه نویسی شی گرا در پایتون
  4. آموزش ساختار داده برنامه نویسی شی گرا در پایتون
  5. آموزش بلوک ها در برنامه نویسی شی گرا در پایتون
امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه