برچسب: programming

جدید چند ریختی یا polymorphism در کلاس های پایتون

اصطلاح “چند شکلی” یا “چند ریختی” یا polymorphism از زبان یونانی گرفته شده و به معنای چیزی است که چندین شکل به خود می گیرد.چند ریختی به توانایی یک زیر کلاس برای انطباق متدی که قبلاً در سوپرکلاس آن وجود دارد برای رفع نیازهایش اشاره دارد. به بیان دیگر، یک زیر کلاس می تواند از متدی از سوپرکلاس خود استفاده کند یا در صورت نیاز آن را تغییر دهد.همان کلاس Person که در مطالب قبلی استفاده کردیم را در نظر بگیرید: با استفاده از این کلاس می توان اعضای شاغل در یک شرکت را تعریف نمود و نام و نام خانوادگی و شماره پرسنلی آنها را مشخص کرد. همچنین از طریق متد set_salary می توان در زمان لزوم حقوق هر شخص را نیز معین کرد. حالا فرض کنیم که بعضی کارمندها رتبه بالاتری دارند و حقوق آنها 10 درصد بیشتر از سایر کارمندان است و قصد داریم یک کلاس فرزند برای آنها ایجاد کنیم و بتوانیم حقوق آنها را جداگانه مشخص کنیم. برای ایجاد یک زیر کلاس که از چند شکلی استفاده می کند، می توانیم یک کلاس جدید تعریف کنیم که از کلاس Person به ارث می برد و متد set_salary را دوباره در [ . . . ]

  • 150 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید وراثت کلاس ها در پایتون

مانند هر زبان شی گرای دیگر، پایتون نیز از مفهوم وراثت کلاس پشتیبانی می کند. وراثت به ما اجازه می دهد تا یک کلاس جدید را از دل یک کلاس موجود ایجاد کنیم.کلاس جدیدی که ایجاد می شود به عنوان زیر کلاس (کلاس فرزند یا مشتق شده) و کلاس موجود که کلاس فرزند از آن مشتق شده است به عنوان سوپرکلاس (کلاس والد یا پایه) شناخته می شود.زیر کلاس یا کلاس فرزند کلاسی است که ارث می برد. سوپرکلاس یا کلاس والد کلاسی است که متدها و/یا ویژگی ها از آن به ارث برده می شوند.بگذارید برای بررسی این مفهوم به سراغ مثال قبلی برویم. کلاس Person می تواند اعضای شاغل در یک شرکت را تولید کند و بعضی ویژگی های مربوط به انها را مشخص کند. مثل نام و نام خانوادگی و شماره پرسنلی و حقوق. اما همه اعضای یک شرکت لزوما موقعیت های مشابهی ندارند. فرض کنید قصد داریم اعضای یک شرکت را به دو دسته کارمند و سهامدار تقسیم کنیم. بنابراین لازم است برای هر کدام یک کلاس جداگانه تعریف نماییم. اما بعضی خصوصیات هر دو دسته مشابه هم است. مثلا هر دو نام و نام خانوادگی دارند. بازنویسی همه آن کد [ . . . ]

  • 141 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید کپسوله سازی یا Encapsulation در پایتون

کپسوله‌سازی فرآیندی است برای جلوگیری از دسترسی مشتریان به بعضی ویژگی‌های ، که فقط از طریق روش‌های خاص قابل دسترسی است. ویژگی‌های خصوصی ویژگی‌های غیرقابل دسترسی هستند و ما از دو underscore  (__) برای اعلام ویژگی های خصوصی استفاده می کنیم. مثال قبلی را در نظر بگیرید. فرض کنید می خواهیم در کلاس Person متدی داشته باشیم که تعداد ساعت اضافه کار کارمند در یک ماه را بگیرد و اضافه حقوق این ماه او را به ما بدهد. ابتدا لازم است یک ویژگی خصوص در __init__ اضافه کنیم که دستمزد اضافه کاری به ازای هر یک ساعت را در آن ذخیره کنیم: همچنین باید یک متد به کلاس اضافه کنیم که تعداد ساعت اضافه کار را بگیرد و اضافه حقوق را محاسبه نماید و برگرداند: کلاس را به طور کامل می توانید در زیر مشاهده کنید: حالا یک عضو تعیین می کنیم و سپس مقدار اضافه حقوق او را دریافت می نماییم: با توجه به اینکه دستمزد یک ساعت اضافه حقوق را از طریق self.__extraperhour معادل 500000 ریال تعریف کرده بودیم، این کارمند به ازای 9 ساعت اضافه کار مبلغ 4500000 ریال اضافه حقوق دریافت خواهد کرد. حالا اگر تلاش کنید که با دستور زیر [ . . . ]

  • 140 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید کلاسها و اشیا در پایتون

در برنامه نویسی شی گرا (OOP)، یک کلاس یک طرح یا قالب است که متغیرها و روش های مشترک برای همه اشیاء از یک نوع خاص را تعریف می کند. این یک نوع داده تعریف شده توسط کاربر است که اعضای داده و توابع عضو خود را دارد که با ایجاد نمونه ای از آن کلاس قابل دسترسی و استفاده است. کلاس یک موجودیت منطقی است که گروهی از اشیاء را با خواص و رفتار مشابه نشان می دهد.از طرف دیگر، یک شی نمونه ای از یک کلاس است. شی یک موجود فیزیکی است که نمونه خاصی از یک کلاس را نشان می دهد. هنگامی که یک کلاس تعریف می شود، هیچ حافظه ای به آن تخصیص نمی یابد، اما زمانی که یک شی نمونه سازی می شود (یعنی ایجاد می شود) به آن حافظه تخصیص می یابد. یک شی می تواند چندین بار بنا بر نیاز ایجاد شود.برای نشان دادن این موضوع، اجازه دهید کلاسی به نام ماشین را در نظر بگیریم. کلاس ماشین طرحی است که متغیرها و روش های مشترک برای همه خودروها مانند رنگ، مدل و سال ساخت را تعریف می کند. یک شی از کلاس  نشان دهنده یک ماشین خاص [ . . . ]

  • 172 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید معرفی برنامه نویسی شی گرا یا oop

برنامه نویسی شی گرا (OOP) یک الگوی برنامه نویسی است که می توانید از آن برای مدل سازی دنیای واقعی در کد استفاده کنید. استفاده از این پارادایم مزایای متعددی دارد. با OOP، می‌توانید پیاده‌سازی‌هایی ایجاد کنید که به راحتی قابل تغییر و گسترش با کد کمتر هستند. این بر اساس ایده گروه بندی داده ها و توابع مرتبط به گروه های اطلاعات است. این گروه ها به عنوان اجسام شناخته می شوند. برنامه نویسی شی گرا (OOP) یک الگوی برنامه نویسی است که بر مفهوم کلاس ها و اشیاء تکیه دارد. برای ایجاد ساختار یک برنامه نرم افزاری به قطعات ساده و قابل استفاده مجدد از قطعه های کد (معمولاً کلاس ها) استفاده می شود که برای ایجاد نمونه های جداگانه از اشیاء استفاده می شود. OOP به گونه ای طراحی شده است که هنگام برنامه نویسی باید روی یک شی تمرکز کرد نه بر روی رویه ها. یک شی می تواند هر چیزی باشد که در اطراف خود می بینیم. مثلا می تواند یک انسان باشد که دارای برخی ویژگی ها است مانند – نام، آدرس، کد ملی و غیره، یا یک صندلی که بر اساس اندازه، رنگ، مواد به کار رفته، قیمت [ . . . ]

  • 124 بازدید
  • 0
  • 2 دسامبر, 2023
ادامه مطلب

جدید ساخت فایل gif با استفاده از pillow در پایتون

ما می توانیم از Pillow برای ایجاد یک GIF از چندین تصویر استفاده کنیم. در اینجا یک نمونه کد ارایه شده که نحوه ایجاد یک GIF از سه تصویر با استفاده از Pillow را نشان می دهد: در این مثال، ابتدا لیستی از اشیاء Image از سه فایل تصویری با استفاده از متد Image.open از Pillow ایجاد می کنیم. سپس فریم ها را به عنوان یک فایل GIF با استفاده از متد save با آرگومان format=’GIF’ و پارامتر append_images ذخیره می کنیم تا فریم های باقی مانده را به فریم اول اضافه کنیم. پارامتر duration فاصله زمان بین فریم ها را بر حسب میلی ثانیه مشخص می کند و پارامتر loop تعداد دفعاتی را که انیمیشن باید حلقه بزند (0 به معنای حلقه بی نهایت است) را مشخص می کند.

  • 248 بازدید
  • 0
  • 27 نوامبر, 2023
ادامه مطلب

جدید پیدا کردن لبه های یک تصویر با استفاده از pillow در پایتون

تشخیص لبه شامل انواع روش های ریاضی با هدف شناسایی لبه ها است که به عنوان منحنی هایی در یک تصویر دیجیتالی تعریف می شود که در آن روشنایی تصویر به شدت تغییر می کند یا به طور علمی تر، ناپیوستگی دارد. تشخیص لبه در تصاویر یک ابزار اساسی در پردازش تصویر، بینایی ماشین و بینایی کامپیوتری است، به ویژه در زمینه‌های تشخیص ویژگی و استخراج ویژگی. در پایتون ما می توانیم از Pillow برای یافتن لبه های یک تصویر استفاده کنیم. به این منظور برنامه زیر به عنوان نمونه نوشته شده است: نتیجه را در شکل زیر می توانید مشاهده کنید:

  • 137 بازدید
  • 0
  • 27 نوامبر, 2023
ادامه مطلب

جدید ایجاد نمودار هیسیتوگرام یک تصویر با استفاده از pillow

هیستوگرام یک نمایش گرافیکی از توزیع شدت پیکسل ها در یک تصویر است. نمایش هیستوگرام یک نمودار میله‌ای از داده‌ها است که طیفی از نتایج را در ستون‌هایی در امتداد محور x قرار می‌دهد. محور y تعداد تکرارها را در تصویر نشان می دهد که در هر دسته قرار می گیرند. هیستوگرام ها معمولاً در پردازش تصویر برای درک توزیع شدت پیکسل در یک تصویر و شناسایی الگوها و روندها در داده ها استفاده می شوند. هیستوگرام ها برای شناسایی ویژگی های زیر مفید هستند: – کنتراست contrast: محدوده شدت پیکسل در تصویر. – روشنایی brightness: روشنایی کلی تصویر. – اشباع saturation: میزان رنگ در تصویر. – وضوح sharpness: وضوح لبه ها در تصویر. هیستوگرام ها همچنین برای شناسایی مشکلات کیفیت تصویر مانند نوردهی بیش از حد، نوردهی کم و مشکلات تعادل رنگ مفید هستند. آنها می توانند به شناسایی الگوها و روندهایی در داده ها کمک کنند که ممکن است با یک بازرسی بصری ساده از تصویر آشکار نشوند. هیستوگرام ها را می توان در پردازش تصویر برای اهداف زیر استفاده کرد: – تقسیم‌بندی تصویر image segmentation: از هیستوگرام‌ها می‌توان برای تعیین آستانه تقسیم‌بندی تصویر برای جداسازی پس‌زمینه از یک شی استفاده کرد. – [ . . . ]

  • 171 بازدید
  • 0
  • 27 نوامبر, 2023
ادامه مطلب

جدید آموزش کامل پردازش تصویر در پایتون با PILLOW

پردازش تصویر دیجیتال به معنای پردازش دیجیتالی تصویر با کمک کامپیوتر است. با استفاده از پردازش تصویر می‌توانیم عملیاتی مانند بهبود تصویر، محو کردن تصویر، استخراج متن از تصاویر و بسیاری از عملیات‌های دیگر را انجام دهیم. روش های مختلفی برای پردازش تصاویر دیجیتالی وجود دارد که ما قصد داریم به ماژول Pillow پایتون بپردازیم. Pillow بر روی PIL (کتابخانه تصویر پایتون) ساخته شده است. Pillow از بسیاری از فرمت های فایل تصویری از جمله BMP، PNG، JPEG و TIFF پشتیبانی می کند. Pillow به صورت پیش فرض همراه پایتون ارایه نمی شود و خودتان باید آن را نصب کنید. برای نصب آن دستور زیر را در ترمینال تایپ کنید: باز کردن و نمایش تصویر به عنوان اولین برنامه قصد داریم یک فایل تصویری را باز کنیم و نمایش دهیم. برنامه به این صورت است: نتیجه اجرای برنامه به شکل زیر است: در خط اول کلاس Image را از ماژول PIL وارد می کنیم. این کلاس برای باز کردن، دستکاری و ذخیره فایل های تصویری به کار می رود. خط دوم ماژول OS را وارد می کند که راهی برای تعامل با سیستم عامل فراهم می کند. خط سوم مسیر مطلق دایرکتوری حاوی اسکریپت پایتون را [ . . . ]

  • 407 بازدید
  • 0
  • 26 نوامبر, 2023
ادامه مطلب

جدید ساعت زنگ دار با پایتون

ساعت زنگ دار یکی از پروژه های های جالب پایتون است. مردم در سراسر جهان از برنامه های ساعت زنگ دار استفاده می کنند. این یک برنامه پایتون ساده رابط خط فرمان (CLI) است که از ماژول های datetime، time و playsound برای ایجاد ساعت زنگ دار که یک صدای آلارم را در زمان تعیین شده پخش می کند استفاده می نماید. قبل از اجرای برنامه لازم است ماژول playsound را با استفاده از دستور زیر نصب کنیم: همچنین باید فایل صوتی با پسوند wav را که قرار است پخش شود در محل ذخیره برنامه کپی کنیم. می توانید فایل زیر را دانلود و استفاده کنید: Alarm.wav

  • 213 بازدید
  • 0
  • 24 نوامبر, 2023
ادامه مطلب