برچسب: coding

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

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

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

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

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

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

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

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

  • 172 بازدید
  • 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 برای یافتن لبه های یک تصویر استفاده کنیم. به این منظور برنامه زیر به عنوان نمونه نوشته شده است: نتیجه را در شکل زیر می توانید مشاهده کنید:

  • 138 بازدید
  • 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 را وارد می کند که راهی برای تعامل با سیستم عامل فراهم می کند. خط سوم مسیر مطلق دایرکتوری حاوی اسکریپت پایتون را [ . . . ]

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

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

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

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

جدید بررسی قوی بودن پسورد در پایتون

می خواهیم برنامه ای در پایتون بنویسیم که میزان استحکام رمز عبوری که کاربر به آن می دهد را بررسی کند. در این پروژه رمز عبوری قوی است که دارای همه شرایط زیر باشد: حداقل 1 حرف بین [a-z] حداقل 1 حرف بین [A-Z] حداقل 1 عدد بین [0-9] حداقل 1 نویسه از [!@#$%^&*] حداقل طول 6 کاراکتر داشته باشد. برنامه با پیمایش کاراکترهای رمز عبور، قوی بودن یا نبودن رمز عبور را اعلام می کند.

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

جدید شبیه ساز پرتاب تاس با پایتون

همانطور که از نام برنامه پیداست، قرار است پرتاب تاس را شبیه سازی کنیم. این یکی از پروژه‌های جالب پایتون است و برای هر پرتاب تاس یک عدد تصادفی تولید می‌کند و کاربر می‌تواند تا زمانی که می‌خواهد به طور مکرر از تاس بیاندازد. هنگامی که کاربر تاس می اندازد، برنامه یک عدد تصادفی بین 1 تا 6 تولید می کند. سپس عدد تاس به کاربر نمایش داده می شود و از کاربر می‌پرسد که آیا می‌خواهد دوباره تاس بیندازد یا خیر؟ این برنامه یک تابع roll_dice را تعریف می کند که یک عدد صحیح تصادفی بین 1 و 6 را برمی گرداند. سپس از کاربر می‌خواهد تاس را به طور مکرر بیاندازد تا زمانی که تصمیم به توقف بگیرد. برای استفاده از این برنامه کافی است اسکریپت را اجرا کنید و برای انداختن دوباره تاس “y” یا برای خروج “n” را وارد کنید.

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