SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
‫در‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬‫پایتون‬
)Object Oriented Programming-OOP(
.‫بپردازیم‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫مفهوم‬ ‫مورد‬ ‫در‬ ‫کاوش‬ ‫به‬ ‫داریم‬ ‫قصد‬ ‫مقاله‬ ‫این‬ ‫در‬
OOP‫سسی‬‫س‬‫کدنوی‬ ‫سسود‬‫ب‬ ‫سسد‬‫ی‬‫خواه‬ ‫سسادر‬‫ق‬ ‫آن‬ ‫سساهیم‬‫ف‬‫م‬ ‫از‬ ‫سسی‬‫ق‬‫عمی‬ ‫درک‬ ‫به‬ ‫رسیدن‬ ‫صورت‬ ‫در‬ ‫شما‬ ‫و‬ ‫است‬ ‫کدهایتان‬ ‫مدیریت‬ ‫برای‬ ‫قدرتمند‬ ‫راهی‬
.‫بخشید‬ ‫بهبود‬ ‫را‬ ‫خود‬ ( ‫نویسی‬ ‫برنامه‬ )
‫؟‬ ‫چیست‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬
‫حقیقت‬ ‫در‬ ‫شد.اما‬ ‫طراحی‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫ابتدا‬ ‫از‬ ‫پایتون‬"‫گرایی‬ ‫شیئ‬‫معناست؟‬ ‫چه‬ ‫به‬ "
‫قالب‬ ‫در‬ ‫را‬ ‫آن‬ ‫کنید‬ ‫سعی‬ ‫و‬ ‫بنشینید‬ ‫صحبت‬ ‫به‬ ‫آن‬ ‫مورد‬ ‫در‬ ‫ساعت‬ ‫چندین‬ ‫برای‬ ‫میتوانید‬ ‫شما‬ ‫و‬ ‫دارد‬ ‫وجود‬ ‫عبارت‬ ‫این‬ ‫برای‬ ‫گوناگونی‬ ‫تعابیر‬
‫روی‬ ‫را‬ ‫سسریع‬‫س‬ ‫سسرور‬‫م‬ ‫یک‬ ‫میکنم‬ ‫سعی‬ ‫اینجا‬ ‫در‬ ‫من‬ ‫که‬ ‫دهید.هرچند‬ ‫شرح‬ ‫سازی‬ ‫پیاده‬ ‫در‬ ‫ها‬ ‫کاری‬ ‫ریزه‬ ‫و‬ ‫ها‬ ‫تفاوت‬ ‫بیان‬ ‫با‬ ‫و‬ ‫پیچیده‬ ‫عبارات‬
.‫باشم‬ ‫داشته‬ ‫شما‬ ‫برای‬ ‫مفاهیم‬ ‫این‬
‫به‬ ‫نسبت‬ ‫هستیم‬ ‫آنها‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫حال‬ ‫در‬ ‫ما‬ ‫که‬ ‫اشیائی‬ ، ‫آن‬ ‫اساس‬ ‫بر‬ ‫که‬ ‫است‬ ‫نویسی‬ ‫برنامه‬ ‫دنیای‬ ‫در‬ ‫مفهوم‬ ‫یک‬ ‫گرایی‬ ‫شیئ‬ ، ‫کلی‬ ‫طور‬ ‫به‬
.‫باشند‬ ‫می‬ ‫برخوردار‬ ‫بیشتری‬ ‫اهمیت‬ ‫از‬ ‫اشیاء‬ ‫این‬ ‫دستکاری‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫منطق‬
‫سسن‬‫ی‬‫ا‬ ‫سسردن‬‫ک‬ ‫سسال‬‫ب‬‫دن‬ ‫با‬ ‫توان‬ ‫می‬ ‫که‬ ‫شود‬ ‫می‬ ‫مشاهده‬ ‫ها‬ ‫دستورالعمل‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫یا‬ ‫و‬ ‫دستورالعمل‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫برنامه‬ ‫یک‬ ‫سنتی‬ ‫طور‬ ‫به‬
‫یک‬ ‫اجرای‬ ‫و‬ ‫تکمیل‬ ‫مراحل‬ ‫مشخص‬ ‫ترتیب‬ ‫یک‬ ‫در‬ ‫ها‬ ‫دستورالعمل‬"‫وظیفه‬.‫پیمود‬ ‫انتها‬ ‫تا‬ ‫ابتدا‬ ‫از‬ ‫را‬ “
‫سسام‬‫ن‬ ‫سسا‬‫ب‬ ‫رویکرد‬ ‫آید.این‬ ‫می‬ ‫شمار‬ ‫به‬ ‫حیاتی‬ ‫نیازی‬ ‫ساده‬ ‫های‬ ‫برنامه‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫حتی‬ ‫و‬ ‫باشد‬ ‫درست‬ ‫میتواند‬ ‫نیز‬ ‫امروزه‬ ‫رویکرد‬ ‫این‬"‫سسامه‬‫ن‬‫بر‬
‫ای‬ ‫رویه‬ ‫نویسی‬.‫میشود‬ ‫شناخته‬ ”
‫درک‬ ‫سسل‬‫ب‬‫غیرقا‬ ‫و‬ ‫سسده‬‫ی‬‫تن‬ ‫سسم‬‫ه‬‫در‬ ‫سسیار‬‫س‬‫ب‬ ‫آن‬ ‫نوشتن‬ ‫ای‬ ‫رویه‬ ‫برای‬ ‫لزم‬ ‫منطق‬ ، ‫میشود‬ ‫تر‬ ‫پیچیده‬ ‫و‬ ‫بزرگتر‬ ‫برنامه‬ ‫که‬ ‫هنگامی‬ ، ‫دیگر‬ ‫عبارتی‬ ‫به‬
.‫بیاید‬ ‫شما‬ ‫کمک‬ ‫به‬ ‫مواردی‬ ‫چنین‬ ‫این‬ ‫در‬ ‫میتواند‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫رویکرد‬ ‫میشود.گاهی‬
‫سسای‬‫ه‬ ‫سستورالعمل‬‫س‬‫د‬ ‫از‬ ‫سسمتی‬‫س‬‫ق‬ ‫سسن‬‫ی‬‫همچن‬ ‫و‬ ‫سسا‬‫ه‬ ‫داده‬ ‫و‬ ‫سسات‬‫ع‬‫اطل‬ ‫سسرای‬‫ب‬ ‫هایی‬ ‫ظرف‬ ‫عنوان‬ ‫به‬ ‫تنها‬ ‫اشیاء‬ ‫از‬ ‫اینکه‬ ‫جای‬ ‫به‬ ‫گرا‬ ‫شیئ‬ ‫رویکرد‬ ‫در‬
.‫میدهیم‬ ‫قرار‬ ‫نویسی‬ ‫برنامه‬ ‫فرایند‬ ‫کانون‬ ‫در‬ ‫را‬ ‫آنها‬ ، ‫شود‬ ‫استفاده‬ ‫ای‬ ‫رویه‬
‫از‬ ‫میکنیم.سپس‬ ‫مشخص‬ ‫را‬ ‫اجزا‬ ‫سایر‬ ‫با‬ ‫آن‬ ‫ارتباط‬ ‫چگونگی‬ ‫نیز‬ ‫و‬ ‫میپردازیم‬ ‫کنیم‬ ‫کار‬ ‫آن‬ ‫روی‬ ‫میخواهیم‬ ‫که‬ ‫شیئی‬ ‫تعریف‬ ‫به‬ ‫ما‬ ‫اول‬ ‫قدم‬ ‫در‬
.‫شود‬ ‫اجرا‬ ‫درستی‬ ‫شکل‬ ‫به‬ ‫برنامه‬ ‫تا‬ ، ‫میبخشیم‬ ‫جان‬ ‫و‬ ‫جسم‬ ‫آن‬ ‫به‬ ‫منطق‬ ‫طریق‬
‫سسط‬‫س‬‫ب‬ ‫را‬ ‫سسا‬‫ه‬ ‫سسحبت‬‫ص‬ ‫سسن‬‫ی‬‫ا‬ ‫سسمارش‬‫ش‬ ‫سسل‬‫ب‬‫قا‬ ‫سسیاء‬‫ش‬‫ا‬ ‫تمام‬ ‫مورد‬ ‫در‬ ‫بتوانم‬ ‫باید‬ ‫که‬ ‫است‬ ‫این‬ ‫معنی‬ ‫به‬ ‫میکنم‬ ‫صحبت‬ ‫اشیاء‬ ‫مورد‬ ‫در‬ ‫من‬ ‫که‬ ‫وقتی‬
) ”‫شخص‬ ‫یک‬ ‫به‬ ‫میتواند‬ ‫شیئ‬ ‫دهم.یک‬"‫میشود‬ ‫مشخص‬ ‫غیره‬ ‫و‬ ‫آدرس‬ ، ‫سن‬ ، ‫نام‬ ‫نظیر‬ ‫هایی‬ ‫ویژگی‬ ‫ی‬ ‫وسیله‬ ‫به‬ ‫که‬”‫سسرکت‬‫ش‬ ‫سسک‬‫ی‬ ‫سسا‬‫ی‬ ‫و‬ ("
)‫میشود‬ ‫تعریف‬ ‫آن‬ ‫مشابه‬ ‫چیزهای‬ ‫و‬ ‫کارمندان‬ ‫تعداد‬ ‫نظیر‬ ، ‫هایش‬ ‫ویژگی‬ ‫وسیله‬ ‫به‬ ‫که‬‫بسسسیار‬ ‫مفاهیمی‬ ‫به‬ ‫میتواند‬ ‫حتی‬ .‫باشد‬ ‫داشته‬ ‫اشاره‬ (
.‫کند‬ ‫اشاره‬ ‫رایانه‬ ‫یک‬ ‫کاربری‬ ‫واسط‬ ‫در‬ ‫دکمه‬ ‫یک‬ ‫مانند‬ ‫انتزاعی‬
‫سست‬‫ق‬‫و‬ ‫آن‬ ‫سسرای‬‫ب‬ ‫را‬ ‫سسب‬‫ش‬ ‫سسل‬‫ک‬ ‫سسد‬‫ی‬‫با‬ ‫سسورت‬‫ص‬ ‫این‬ ‫در‬ ‫چون‬ ‫دهم‬ ‫پوشش‬ ‫مفصل‬ ‫طور‬ ‫به‬ ‫را‬ ‫شده‬ ‫بحث‬ ‫مفاهیم‬ ‫تمامی‬ ‫که‬ ‫ندارم‬ ‫قصد‬ ‫من‬ ‫اینجا‬ ‫در‬
‫در‬ ‫سسرا‬‫گ‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫شروع‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫ی‬ ‫ساده‬ ‫مفاهیم‬ ‫از‬ ‫عمیقی‬ ‫درک‬ ‫ها‬ ‫آموزش‬ ‫این‬ ‫پایان‬ ‫در‬ ‫بتوانید‬ ‫شما‬ ‫که‬ ‫امیدوارم‬ ‫بگذارم.اما‬
‫سسن‬‫ی‬‫ا‬ ‫سسر‬‫ب‬.‫سستند‬‫س‬‫ه‬ ‫مشابه‬ ‫نسبتا‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫محیط‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫فوق‬ ‫مفاهیم‬ ‫که‬ ‫است‬ ‫این‬ ‫قضیه‬ ‫این‬ ‫مثبت‬ ‫ی‬ ‫جنبه‬ .‫کنید‬ ‫پیدا‬ ‫پایتون‬
.‫بود‬ ‫خواهد‬ ‫راحت‬ ‫دیگر‬ ‫زبان‬ ‫به‬ ‫زبان‬ ‫یک‬ ‫از‬ ‫مهاجرت‬ ‫اساس‬
: ‫کار‬ ‫به‬ ‫آغاز‬
‫سسا‬‫ب‬ ‫سسواهیم‬‫خ‬‫می‬ ‫که‬ ‫است‬ ‫اشیائی‬ ‫تعریف‬ ، ‫دهید‬ ‫انجام‬ ‫باید‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫در‬ ‫که‬ ‫کاری‬ ‫اولین‬ ، ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫قسمت‬ ‫در‬ ‫که‬ ‫همانطور‬
‫سسک‬‫ی‬ ‫سسالب‬‫ق‬ ‫در‬ ‫مربوطه‬ ‫شیئ‬ ‫های‬ ‫ویژگی‬ ‫کردن‬ ‫تعریف‬ ، ‫برمیداریم‬ ‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬ ‫ما‬ ‫که‬ ‫قدمی‬ ‫کنیم.اولین‬ ‫کار‬ ‫آنها‬"‫کلس‬‫سسما‬‫ش‬.‫سست‬‫س‬‫ا‬ ”
‫سسر‬‫ه‬ .‫سسود‬‫ش‬ ‫سساخته‬‫س‬ ‫آن‬ ‫روی‬ ‫از‬ ‫است‬ ‫قرار‬ ‫که‬ ‫شیئی‬ ‫برای‬ ‫راه‬ ‫ی‬ ‫نقشه‬ ‫و‬ ‫راهنما‬ ‫یک‬ ‫بگیرید.یعنی‬ ‫نظر‬ ‫در‬ ‫قالب‬ ‫یا‬ ‫الگو‬ ‫یک‬ ‫همانند‬ ‫را‬ ‫کلس‬ ‫یک‬
‫سسار‬‫ت‬‫رف‬ ‫سسود‬‫خ‬ ‫سسرای‬‫ب‬ ‫سسک‬‫ی‬ ‫هر‬ ‫کلس‬ ‫یک‬ ‫روی‬ ‫از‬ ‫شده‬ ‫ساخته‬ ‫شیئ‬ ‫چند‬ ‫میبرد.اما‬ ‫ارث‬ ‫به‬ ‫را‬ ‫آن‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫است‬ ‫کلس‬ ‫یک‬ ‫به‬ ‫متعلق‬ ‫شیئ‬
.‫داشت‬ ‫خواهند‬ ‫مستقلی‬
‫اسم‬ ‫به‬ ‫کلسی‬ ‫است‬ ‫ممکن‬ ‫شما‬ ، ‫ساده‬ ‫مثال‬ ‫یک‬ ‫عنوان‬ ‫به‬person‫اسسست‬ ‫ممکسسن‬ ‫همچنین‬ .‫باشید‬ ‫داشته‬ ‫نام‬ ‫و‬ ‫سن‬ ‫مانند‬ ‫هایی‬ ‫ویژگی‬ ‫با‬ ‫و‬
) ‫کلس‬ ‫این‬ ‫از‬ ‫ای‬ ‫نمونه‬‫کلس‬ ‫از‬ ‫شیئ‬ ‫یک‬‫سسخص‬‫ش‬ ‫سسن‬‫ی‬‫ا‬ ‫سسام‬‫ن‬.‫بود‬ ‫خواهد‬ ‫جامعه‬ ‫در‬ ‫یکتا‬ ‫شخص‬ ‫یک‬ ‫مبین‬ ‫صورت‬ ‫این‬ ‫در‬ ‫که‬ ‫باشید‬ ‫ساخته‬ (
‫میتواند‬Andy‫او‬ ‫سن‬ ‫و‬۲۳‫کلس‬ ‫همین‬ ‫از‬ ‫نیز‬ ‫دیگری‬ ‫شخص‬ ‫میتوانید‬ ‫شما‬ ‫باشد.اما‬ ‫سال‬person‫مثل‬ ‫او‬ ‫نسسام‬ ‫که‬ ‫کنید‬ ‫سازی‬ ‫شبیه‬Lucy
‫و‬ ‫باشد‬۱۸.‫باشد‬ ‫داشته‬ ‫سن‬ ‫سال‬
‫خط‬ ‫چند‬ ‫نوشتن‬ ‫به‬ ‫شروع‬ ‫جدی‬ ‫صورت‬ ‫به‬ ‫دهید‬ ‫اجازه‬ ‫پس‬ .‫بود‬ ‫خواهد‬ ‫سخت‬ ‫زمینه‬ ‫این‬ ‫در‬ ‫تمرین‬ ‫چند‬ ‫دیدن‬ ‫بدون‬ ‫مسائل‬ ‫این‬ ‫فهم‬ ‫حقیقتا‬
.‫کنیم‬ ‫کد‬
: ‫کل س‬ ‫تعریف‬
‫سست‬‫غ‬‫ل‬ ‫از‬ ‫سسایتون‬‫پ‬ ‫نویسی‬ ‫برنامه‬ ‫مدل‬ ‫ترین‬ ‫ساده‬ ‫اساس‬ ‫بر‬ ‫کلس‬ ‫یک‬ ‫تعریف‬ ‫برای‬ ‫ما‬class‫کلس‬ ‫سسام‬‫ن‬ ‫آن‬ ‫سسال‬‫ب‬‫دن‬ ‫سسه‬‫ب‬ ‫سسه‬‫ک‬ ‫سسم‬‫ی‬‫میکن‬ ‫سستفاده‬‫س‬‫ا‬
.‫آوریم‬ ‫می‬ ‫را‬ ‫جدیدمان‬
‫نام‬ ‫به‬ ‫جدید‬ ‫کلس‬ ‫یک‬ ‫میخواهم‬ ‫اینجا‬ ‫در‬ ‫من‬pet.‫بسازم‬
‫سسرد‬‫ی‬‫گ‬ ‫سسرار‬‫ق‬ ‫کلس‬ ‫سسف‬‫ی‬‫تعر‬ ‫ی‬ ‫محدوده‬ ‫درون‬ ‫که‬ ‫چیز‬ ‫هر‬ ‫آن‬ ‫از‬ ‫پس‬ ‫و‬ ‫میدهیم‬ ‫قرار‬ ‫کلس‬ ‫نام‬ ‫انتهای‬ ‫در‬ ‫را‬ ( : ) ‫کالن‬ ‫علمت‬ ‫یک‬ ‫بلفاصله‬ ‫ما‬
‫ی‬ ‫سسه‬‫م‬‫کل‬ ‫سسال‬‫ب‬‫دن‬ ‫سسه‬‫ب‬ ‫سسورت‬‫ص‬ ‫سسر‬‫ه‬ ‫در‬ ‫سسه‬‫ک‬ ‫کنید‬ ‫دار(.توجه‬ ‫دندانه‬ ‫صورت‬ ‫بیاید)به‬ ‫فاصله‬ ‫خالی‬ ‫جای‬ ‫یک‬ ‫با‬ ‫باید‬class‫سسته‬‫ش‬‫نو‬ ‫سستزی‬‫ن‬‫پرا‬ ‫سسچ‬‫ی‬‫ه‬
: ‫نمیشود‬
class pet:
‫جفت‬ ‫یک‬ ‫بیایید‬ ‫شروع‬ ‫میرود.برای‬ ‫شمار‬ ‫به‬ ‫ای‬ ‫استفاده‬ ‫بی‬ ‫موجود‬ ‫ندهیم‬ ‫قرار‬ ‫آن‬ ‫درون‬ ‫چیزی‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫اما‬ ‫داریم‬ ‫کلس‬ ‫یک‬ ‫الن‬ ‫ما‬ ‫خب‬
).‫کنید‬ ‫تعریف‬ ‫کلس‬ ‫درون‬ ‫آسانی‬ ‫به‬ ‫را‬ ‫متغییر‬ ‫تعدادی‬ ‫میتوانید‬ ‫کار‬ ‫این‬ ‫دهیم.برای‬ ‫نسبت‬ ‫آن‬ ‫به‬ ‫ویژگی‬‫عددی‬ ‫متغییر‬ ‫یک‬ ‫کار‬ ‫این‬ ‫برای‬ ‫من‬
‫میگیرم‬ ‫نظر‬ ‫در‬ ‫خانگی‬ ‫حیوان‬ ‫پاهای‬ ‫تعداد‬ ‫شمارشگر‬ ‫عنوان‬ ‫به‬ ‫را‬‫سستی‬‫ح‬‫را‬ ‫سسه‬‫ب‬ ‫سسه‬‫ک‬ ‫سسود‬‫ش‬ ‫انتخاب‬ ‫باید‬ ‫ای‬ ‫گونه‬ ‫به‬ ‫متغییر‬ ‫اسم‬ ‫همیشه‬ ‫مانند‬ .(
‫را‬ ‫آن‬ ‫اسم‬ ‫دهید‬ ‫اجازه‬ .‫آورید‬ ‫دست‬ ‫به‬ ‫متغییر‬ ‫مورد‬ ‫در‬ ‫اطلعاتی‬ ‫بتوانید‬number_Of_edge‫سساص‬‫ص‬‫اخت‬ ‫آن‬ ‫سسه‬‫ب‬ ‫مقدار‬ ‫یک‬ ‫باید‬ ‫الن‬ .‫بگذاریم‬
.‫میکنیم‬ ‫دریافت‬ ‫خطا‬ ‫یک‬ ‫وگرنه‬ ‫دهیم‬
‫مقدار‬ ‫از‬ ‫اینجا‬ ‫من‬۰)‫میکنم‬ ‫استفاده‬‫مثل‬ ‫نسسدارد‬ ‫اهمیت‬ ‫زیاد‬ ‫ندارند‬ ‫یکسانی‬ ‫پاهای‬ ‫تعداد‬ ‫خانگی‬ ‫حیوانات‬ ‫تمام‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫مورد‬ ‫این‬ ‫در‬–
‫دهیم‬ ‫تغییر‬ ‫را‬ ‫متغییر‬ ‫مقدار‬ ‫کلس‬ ‫این‬ ‫از‬ ‫نمونه‬ ‫هر‬ ‫برای‬ ‫که‬ ‫مجبوریم‬ ‫ما‬ ‫صورت‬ ‫هر‬ ‫در‬ ‫نیستند‬ ‫برابر‬ ‫سگ‬ ‫و‬ ‫ماهی‬ ‫پاهای‬ ‫تعداد‬–.(
class pet:
number_of_legs = 0
: ‫متغییر‬ ‫عناصر‬ ‫و‬ ‫ها‬ ‫نمونه‬
‫ان‬ ‫سستکاری‬‫س‬‫د‬ ‫سسه‬‫ب‬ ‫سسپس‬‫س‬ ‫و‬ ‫سساخته‬‫س‬ ‫را‬ ‫آن‬ ‫از‬ ‫سسونه‬‫م‬‫ن‬ ‫سسک‬‫ی‬ ‫سسوریم‬‫ب‬‫مج‬ ‫سسدا‬‫ت‬‫اب‬ ‫در‬ ‫یعنی‬ .‫کرد‬ ‫کار‬ ‫مستقیم‬ ‫صورت‬ ‫به‬ ‫کلس‬ ‫یک‬ ‫با‬ ‫نمیتوان‬ ‫معمول‬
.‫بپردازیم‬
.‫دهیم‬ ‫قرار‬ ‫متغییر‬ ‫یک‬ ‫درون‬ ‫را‬ ‫شده‬ ‫ساخته‬ ‫ی‬ ‫نمونه‬ ‫توانیم‬ ‫می‬
) ‫کلس‬ ‫خارج‬ ‫در‬ ‫بیایید‬‫کلس‬ ‫دار‬ ‫دندانه‬ ‫ساختار‬ ‫از‬ ‫بیرون‬ ‫یعنی‬‫نام‬ ‫به‬ ‫متغییری‬ ‫درون‬ ‫را‬ ‫نمونه‬ (doug‫سسساخت‬ ‫بسسرای‬ ‫راحتی‬ ‫به‬ .‫دهیم‬ ‫قرار‬
.‫دهید‬ ‫قرار‬ ‫پرانتز‬ ‫جفت‬ ‫یک‬ ‫آن‬ ‫دنبال‬ ‫به‬ ‫و‬ ‫کنید‬ ‫تایپ‬ ‫را‬ ‫آن‬ ‫نام‬ ، ‫کلس‬ ‫از‬ ‫جدید‬ ‫ی‬ ‫نمونه‬ ‫یک‬
‫سساخت‬‫س‬ ‫ی‬ ‫سسه‬‫ظ‬‫لح‬ ‫در‬ ‫سسه‬‫ک‬ ‫ست‬ ‫راهی‬ ‫این‬ ، ‫توابع‬ ‫همانند‬ ‫که‬ ‫دید‬ ‫خواهید‬ ‫بعدا‬ ‫چون‬ ‫باشید‬ ‫پرانتزها‬ ‫از‬ ‫استفاده‬ ‫نگران‬ ‫نیست‬ ‫لزم‬ ‫اینجا‬ ‫در‬ ‫البته‬
.‫فرستاد‬ ‫آن‬ ‫متغییرهای‬ ‫به‬ ‫را‬ ‫مقادیری‬ ‫میتوان‬ ‫کلس‬ ‫از‬ ‫نمونه‬
class pet:
number_of_legs = 0
doug = pet()
‫کلس‬ ‫از‬ ‫نمونه‬ ‫یک‬ ‫الن‬ ‫ما‬pet‫ایم؟‬ ‫کرده‬ ‫پیدا‬ ‫را‬ ‫آن‬ ‫های‬ ‫ویژگی‬ ‫در‬ ‫دستکاری‬ ‫توانایی‬ ‫الن‬ ‫داریم.آیا‬ ‫را‬
)‫است‬ ‫شیئ‬ ‫کدام‬ ‫منظورمان‬ ‫بگوییم‬ ‫پایتون‬ ‫به‬ ‫باید‬ ‫ابتدا‬ ‫در‬ ‫شیئ‬ ‫یک‬ ‫خصوصیات‬ ‫به‬ ‫اشاره‬ ‫برای‬‫کلس‬ ‫از‬ ‫نمونه‬ ‫کدام‬ ‫یا‬‫ایسسن‬ ‫در‬ ‫مسسا‬ ‫(.بنابراین‬
‫کردن‬ ‫تایپ‬ ‫با‬ ‫را‬ ‫خود‬ ‫کار‬ ، ‫مثال‬doug‫به‬ ‫دسترسی‬ ‫قصد‬ ‫کنیم‬ ‫مشخص‬ ‫تا‬ ‫قرارمیدهیم‬ ‫نقطه‬ ‫یک‬ ‫آن‬ ‫از‬ ‫میکنیم.بعد‬ ‫شروع‬ ‫است‬ ‫نمونه‬ ‫نام‬ ‫که‬
‫ی‬ ‫نمونه‬ ‫محتویات‬ ‫از‬ ‫یکی‬doug‫داده‬ ‫انجسسام‬ ‫درست‬ ‫را‬ ‫فوق‬ ‫مراحل‬ ‫تمام‬ ‫آوریم.اگر‬ ‫می‬ ‫را‬ ‫خود‬ ‫موردنظر‬ ‫خصوصیت‬ ‫نام‬ ، ‫نقطه‬ ‫از‬ ‫داریم.پس‬ ‫را‬
: ‫باشد‬ ‫جلویتان‬ ‫چیزی‬ ‫همچین‬ ‫الن‬ ‫باید‬ ‫باشید‬
doug.number_of_legs
‫میخواهم‬ ‫الن‬ ‫کنیم.من‬ ‫تکرار‬ ‫نیز‬ ‫متغییرهایمان‬ ‫سایر‬ ‫برای‬ ‫مشابه‬ ‫طور‬ ‫به‬ ‫را‬ ‫کار‬ ‫این‬ ‫میتوانیم‬ ‫ما‬doug‫کنم‬ ‫دهی‬ ‫مقدار‬ ‫سگ‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬
‫مقدار‬ ‫آن‬ ‫متغییر‬ ‫به‬ ‫و‬۴)‫بدهم‬‫دارای‬ ‫سگ‬ ‫چون‬۴‫باشد‬ ‫می‬ ‫پا‬(
: ‫شویم‬ ‫مطمئن‬ ‫کارمان‬ ‫صحت‬ ‫از‬ ‫تا‬ ‫بنویسیم‬ ‫مان‬ ‫خانگی‬ ‫حیوان‬ ‫پاهای‬ ‫تعداد‬ ‫چاپ‬ ‫برای‬ ‫کد‬ ‫خط‬ ‫یک‬ ‫هم‬ ‫کار‬ ‫پایان‬ ‫در‬ ‫باشید‬ ‫موافق‬ ‫اگر‬
class pet:
number_of_legs = 0
doug = pet()
doug.number_of_legs = 4
print "Doug has %s legs." % doug.number_of_legs
‫کلس‬ ‫کد‬ ‫شد.این‬ ‫خواهد‬ ‫داده‬ ‫نمایش‬ ‫شما‬ ‫برای‬ ‫نظر‬ ‫مورد‬ ‫خروجی‬ ‫که‬ ‫میبینید‬ ‫کنید‬ ‫اجرا‬ ‫را‬ ‫فوق‬ ‫کد‬ ‫اگر‬pet‫سسونه‬‫م‬‫ن‬ ‫سسک‬‫ی‬ ، ‫میکند‬ ‫تعریف‬ ‫را‬
‫متغییر‬ ‫درون‬ ‫را‬ ‫آن‬ ‫و‬ ‫میسازد‬ ‫آن‬ ‫از‬doug‫سسا‬‫ب‬ ‫را‬ ‫آن‬ ‫ی‬ ‫سسرده‬‫ب‬ ‫ارث‬ ‫سسه‬‫ب‬ ‫خاصیت‬ ‫و‬ ‫میرود‬ ‫شده‬ ‫ایجاد‬ ‫ی‬ ‫نمونه‬ ‫درون‬ ‫به‬ ‫سپس‬ ‫و‬ ‫میکند‬ ‫ذخیره‬۴
).‫میکند‬ ‫مقداردهی‬‫خاصیت‬number_of_legs‫است‬ ‫شده‬ ‫برده‬ ‫ارث‬ ‫به‬ ‫اصلی‬ ‫کلس‬ ‫از‬(
.‫است‬ ‫ساده‬ ‫بسیار‬ ‫نیز‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫که‬ ‫بسازید‬ ‫ای‬ ‫پیمانه‬ ‫ی‬ ‫داده‬ ‫ساختمان‬ ‫یک‬ ‫توانستید‬ ‫کاربردی‬ ‫ی‬ ‫ساده‬ ‫مثال‬ ‫این‬ ‫طریق‬ ‫از‬ ‫شما‬
: ‫منطق‬ ‫معرفی‬
‫بسسه‬ ‫ها‬ ‫کلس‬ ‫از‬ ‫تر‬ ‫جدی‬ ‫صورت‬ ‫به‬ ‫میخواهیم‬ ‫اینجا‬ ‫در‬ ‫اما‬ ‫اید‬ ‫شده‬ ‫آشنا‬ ‫اشیاء‬ ‫و‬ ‫ها‬ ‫کلس‬ ‫مفاهیم‬ ‫ترین‬ ‫اساسی‬ ‫با‬ ‫شما‬ ‫تاکنون‬ !!! ‫خوب‬ ‫بسیار‬
‫و‬ ‫سسازی‬‫س‬ ‫سساده‬‫ی‬‫پ‬ ‫سسه‬‫ب‬ ‫بخواهیم‬ ‫اگر‬ ‫اما‬ ‫هستند‬ ‫عالی‬ ‫و‬ ‫خوب‬ ‫همگی‬ ‫اینها‬ .‫کنیم‬ ‫استفاده‬ ‫متغییرها‬ ‫برای‬ ‫هایی‬ ‫ظرف‬ ‫یا‬ ‫و‬ ‫ها‬ ‫داده‬ ‫ساختمان‬ ‫عنوان‬
‫کار‬ ‫این‬ ‫برای‬ ‫کنیم.ما‬ ‫حاکم‬ ‫ها‬ ‫کلس‬ ‫و‬ ‫اشیاء‬ ‫روی‬ ‫بر‬ ‫را‬ ‫کلی‬ ‫منطقی‬ ‫بتوانیم‬ ‫که‬ ‫داریم‬ ‫احتیاج‬ ‫راهی‬ ‫به‬ ، ‫بپردازیم‬ ‫تری‬ ‫پیچیده‬ ‫وظایف‬ ‫اجرای‬
.‫میکنیم‬ ‫استفاده‬ ‫متدها‬ ‫از‬
‫اسسست‬ ‫تابع‬ ‫یک‬ ‫تعریف‬ ‫مشابه‬ ‫دقیقا‬ ‫متدها‬ ‫این‬ ‫تعریف‬ ‫ی‬ ‫میگیرند.شیوه‬ ‫قرار‬ ‫ها‬ ‫کلس‬ ‫درون‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫هستند‬ ‫توابع‬ ‫همان‬ ‫متدها‬ ‫اساسا‬
‫را‬ ‫سسدی‬‫ت‬‫م‬ ‫سسد‬‫ی‬‫بخواه‬ ‫سسما‬‫ش‬ ‫سساه‬‫گ‬‫هر‬ .‫سسند‬‫ش‬‫با‬ ‫کلس‬ ‫یک‬ ‫به‬ ‫متعلق‬ ‫واقع‬ ‫در‬ ‫و‬ ‫شوند‬ ‫تعریف‬ ‫کلس‬ ‫یک‬ ‫درون‬ ‫باید‬ ‫که‬ ‫جاست‬ ‫این‬ ‫آن‬ ‫فرق‬ ‫البته‬ ‫که‬
‫متغییرهسسا‬ ‫بسسه‬ ‫دسترسی‬ ‫برای‬ ‫قبل‬ ‫که‬ ‫حالتی‬ ‫مشابه‬ ‫دقیقا‬ .‫کنید‬ ‫رجوع‬ ‫موردنظر‬ ‫کلس‬ ‫از‬ ‫شیئ‬ ‫یک‬ ‫به‬ ‫ابتدا‬ ‫که‬ ‫هستید‬ ‫مجبور‬ ‫کنید‬ ‫فراخوانی‬
.‫کردیم‬ ‫بیان‬
‫کلس‬ ‫سسان‬‫م‬‫ه‬ ‫سسورد‬‫م‬ ‫در‬ ‫سساه‬‫ت‬‫کو‬ ‫سسال‬‫ث‬‫م‬ ‫یک‬ ‫قضیه‬ ‫این‬ ‫شرح‬ ‫برای‬ ‫من‬pet‫سسام‬‫ن‬ ‫سسه‬‫ب‬ ‫کلس‬ ‫سسک‬‫ی‬ ‫سسد‬‫ی‬‫سسم.بیای‬‫ن‬‫میز‬sleep‫سسن‬‫ی‬‫اول‬ ‫در‬ ‫سسه‬‫ک‬ ‫سسازیم‬‫س‬‫ب‬
‫لغت‬ ، ‫توابع‬ ‫تعریف‬ ‫ی‬ ‫شیوه‬ ‫همانند‬ .‫میکند‬ ‫چاپ‬ ‫خروجی‬ ‫در‬ ‫را‬ ‫پیغام‬ ‫یک‬ ‫اش‬ ‫فراخوانی‬def‫سسام‬‫ن‬ ‫آن‬ ‫سسال‬‫ب‬‫دن‬ ‫سسه‬‫ب‬ ‫سسپس‬‫س‬ .‫مینویسم‬ ‫ابتدا‬ ‫در‬ ‫را‬
‫و‬ ‫نویسیم‬ ‫می‬ ‫را‬ ‫کالن‬ ‫علمت‬ ‫هم‬ ‫آخر‬ ‫در‬ ‫و‬ ‫میدهیم‬ ‫قرار‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫پرانتز‬ ‫جفت‬ ‫یک‬ ‫ادامه‬ ‫داریم.در‬ ‫را‬ ‫آن‬ ‫ساخت‬ ‫قصد‬ ‫که‬ ‫آوریم‬ ‫می‬ ‫را‬ ‫متدی‬
.‫میکنیم‬ ‫شروع‬ ‫را‬ ‫جدیدی‬ ‫خط‬ ، ‫بعدی‬ ‫سطر‬ ‫به‬ ‫رفتن‬ ‫با‬
.‫بیاید‬ ‫بالیی‬ ‫سطح‬ ‫به‬ ‫نسبت‬ ‫دار‬ ‫دندانه‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫حتما‬ ‫گیرد‬ ‫قرار‬ ‫متد‬ ‫درون‬ ‫است‬ ‫قرار‬ ‫که‬ ‫چیزی‬ ‫هر‬ ‫معمول‬ ‫مطابق‬
‫نام‬ ‫به‬ ‫آرگومان‬ ‫یک‬ ‫باید‬ ‫همیشه‬ ، ‫ی‬ ‫همیشه‬ ، ‫ی‬ ‫همیشه‬ ‫متد‬ : ‫شود‬ ‫می‬ ‫آشکار‬ ‫تابع‬ ‫و‬ ‫متد‬ ‫دیگر‬ ‫تفاوت‬ ‫اینجا‬ ‫در‬self‫داشته‬ ‫پرانتز‬ ‫دو‬ ‫مابین‬
‫سسد‬‫ت‬‫م‬ ‫سسه‬‫ب‬ ‫سسان‬‫م‬‫آرگو‬ ‫سسن‬‫ی‬‫اول‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫فعلی‬ ‫شیئ‬ ‫که‬ ‫است‬ ‫این‬ ‫افتد‬ ‫می‬ ‫که‬ ‫اتفاقی‬ ، ‫میکند‬ ‫فراخوانی‬ ‫را‬ ‫متد‬ ‫پایتون‬ ‫که‬ ‫باشد.هنگامی‬sleep
).‫میکند‬ ‫ارسال‬‫میدهد‬ ‫پاس‬(
‫سسام‬‫ن‬ ‫سسا‬‫ب‬ ‫سسانی‬‫م‬‫آرگو‬ ‫سسه‬‫ش‬‫همی‬ ‫سسد‬‫ت‬‫م‬ ‫یک‬ ‫به‬ ‫که‬ ‫است‬ ‫نکته‬ ‫این‬ ‫به‬ ‫توجه‬ ‫بدانید‬ ‫الن‬ ‫است‬ ‫لزم‬ ‫که‬ ‫آنچه‬ ‫اما‬ ‫فهمید‬ ‫خواهید‬ ‫بعدا‬ ‫را‬ ‫مطلب‬ ‫این‬ ‫دلیل‬
self).‫شود‬ ‫می‬ ‫الصاق‬ ‫آرگومان‬ ‫اولین‬ ‫عنوان‬ ‫به‬‫سسری‬‫گ‬‫دی‬ ‫از‬ ‫سسس‬‫پ‬ ‫سسی‬‫ک‬‫ی‬ ‫را‬ ‫سسا‬‫ه‬‫آن‬ ‫سسد‬‫ی‬‫میتوان‬ ‫سسد‬‫ی‬‫کن‬ ‫اضافه‬ ‫بیشتری‬ ‫های‬ ‫آرگومان‬ ‫که‬ ‫بخواهید‬ ‫اگر‬
‫است‬ ‫چندگانه‬ ‫های‬ ‫آرگومان‬ ‫دارای‬ ‫توابع‬ ‫مشابه‬ ‫دقیقا‬ ‫کار‬ ‫این‬ ‫و‬ ‫بیاورید‬‫یسسک‬ ‫برنسسامه‬ ‫اجرای‬ ‫زمان‬ ‫در‬ ، ‫نکنید‬ ‫الصاق‬ ‫را‬ ‫آرگومان‬ ‫این‬ ‫شما‬ ‫اگر‬ .(
)‫میدهد‬ ‫پاس‬ ‫متد‬ ‫به‬ ‫را‬ ‫کنونی‬ ‫شیئ‬ ‫پایتون‬ ‫که‬ ‫است‬ ‫این‬ ‫دلیل‬ .‫کرد‬ ‫خواهید‬ ‫دریافت‬ ‫خطا‬‫آرگومان‬self“ :‫میدهد‬ ‫پاسخ‬ ‫متد‬ ‫و‬ (!!!‫آقسسا‬ ‫آهای‬
!‫میکنی؟‬ ‫چیکار‬ ‫داری‬ ‫که‬ ‫میدونی‬ ‫بگیرم.اصل‬ ‫تحویل‬ ‫شما‬ ‫از‬ ‫را‬ ‫آرگومانی‬ ‫هیچ‬ ‫نیست‬ ‫قرار‬ ‫من‬‫بخواهید‬ ‫که‬ ‫است‬ ‫حالتی‬ ‫مشابه‬ ‫دقیقا‬ ‫هم‬ ‫این‬ .“
.‫پذیرد‬ ‫نمی‬ ‫آرگومانی‬ ‫هیچ‬ ‫که‬ ‫دهید‬ ‫پاس‬ ‫تابعی‬ ‫به‬ ‫را‬ ‫آرگومانی‬
:‫ببنید‬ ‫میتوانید‬ ‫ایم‬ ‫داده‬ ‫انجام‬ ‫تاکنون‬ ‫که‬ ‫را‬ ‫آنچه‬ ‫هر‬ ‫اینجا‬ ‫در‬
class pet:
number_of_legs = 0
def sleep(self):
doug = pet()
‫عبارت‬print: ‫مینویسیم‬ ‫متد‬ ‫ی‬ ‫بدنه‬ ‫داخل‬ ‫اینگونه‬ ‫را‬
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
doug = pet()
‫کلس‬ ‫ی‬ ‫نمونه‬ ‫یک‬ ‫طریق‬ ‫از‬ ‫آسانی‬ ‫به‬ ‫توانیم‬ ‫می‬ ، ‫کنیم‬ ‫استفاده‬ ‫متد‬ ‫این‬ ‫از‬ ‫بخواهیم‬ ‫اگر‬ ‫حال‬pet‫سسابه‬‫ش‬‫م‬ .‫سسیم‬‫ش‬‫با‬ ‫سسته‬‫ش‬‫دا‬ ‫سسی‬‫س‬‫دستر‬ ‫آن‬ ‫به‬
‫متغییر‬ ‫با‬ ‫که‬ ‫کاری‬number_of_edge) ‫نویسیم‬ ‫می‬ ‫را‬ ‫نمونه‬ ‫نام‬ ‫ابتدا‬ ، ‫دادیم‬ ‫انجام‬‫اینجا‬ ‫در‬doug‫متسسد‬ ‫نام‬ ‫آخر‬ ‫در‬ ‫و‬ ( . ) ‫نقطه‬ ‫سپس‬ ، (
‫متد‬ ‫ما‬ ‫است‬ ‫درست‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫آن.توجه‬ ‫پرانتزهای‬ ‫همراه‬ ‫به‬sleep‫سسورت‬‫ص‬ ‫سسه‬‫ب‬ ‫سسایتون‬‫پ‬ ‫سسا‬‫م‬‫ا‬ ‫سسم‬‫ی‬‫میکن‬ ‫فراخوانی‬ ‫آرگومانی‬ ‫هیچ‬ ‫بدون‬ ‫را‬
‫آرگومان‬ ‫با‬ ‫را‬ ‫پرانتز‬ ‫داخل‬ ‫خودکار‬self.‫میکند‬ ‫پر‬
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
doug = pet()
doug.sleep()
‫پیغام‬ ‫میتوانید‬ ‫کنید‬ ‫اجرا‬ ‫را‬ ‫کد‬ ‫اگر‬zzz.‫کنید‬ ‫مشاهده‬ ‫خروجی‬ ‫ی‬ ‫صفحه‬ ‫در‬ ‫را‬
: ‫ها‬ ‫داده‬
‫سسق‬‫ی‬‫طر‬ ‫از‬ ‫سسوانیم‬‫ت‬‫می‬ ‫سسور‬‫ط‬‫چ‬ ‫که‬ ‫آموزد‬ ‫می‬ ‫ما‬ ‫به‬ ‫متد‬ ‫دهد؟این‬ ‫نشان‬ ‫را‬ ‫خانگی‬ ‫حیوان‬ ‫پاهای‬ ‫تعداد‬ ‫که‬ ‫بنویسیم‬ ‫را‬ ‫جدیدی‬ ‫متد‬ ‫چیست‬ ‫نظرتان‬
‫درون‬ ‫های‬ ‫داده‬ ‫دستکاری‬ ‫به‬ ‫متدها‬class‫سسان‬‫م‬‫آرگو‬ ‫آن‬ ‫از‬ ‫سستفاده‬‫س‬‫ا‬ ‫سسه‬‫ب‬ ‫سسزم‬‫ل‬‫م‬ ‫سسا‬‫م‬ ‫سسرا‬‫چ‬ ‫سسه‬‫ک‬ ‫میدهد‬ ‫نشان‬ ‫بپردازیم.همچنین‬self‫سسذایی‬‫ک‬
‫نام‬ ‫با‬ ‫را‬ ‫جدیدمان‬ ‫متد‬ ‫هستیم.بیایید‬count_legs.‫بسازیم‬
‫آرگومان‬ ‫که‬ ‫اینجاست‬self‫سسر‬‫ی‬‫متغی‬ ‫از‬ ‫سستیم‬‫س‬‫میخوا‬ ‫سسه‬‫ک‬ ‫سستی‬‫ق‬‫و‬ ‫سسد‬‫ی‬‫دار‬ ‫سساد‬‫ی‬ ‫به‬ .‫شود‬ ‫می‬ ‫عمل‬ ‫وارد‬number_of_legs‫کلس‬ ‫از‬ ‫سسارج‬‫خ‬ ‫در‬
‫نوشتن‬ ‫جای‬ ‫به‬ ‫بودیم‬ ‫مجبور‬ ، ‫کنیم‬ ‫استفاده‬number_of_lengs‫بنویسیم‬ ،doug.number_of_legs‫ما‬ ‫که‬ ‫است‬ ‫این‬ ‫کاربردی‬ ‫؟جواب‬
.‫کنیم‬ ‫اقدام‬ ‫کلس‬ ‫آن‬ ‫ی‬ ‫شده‬ ‫ساخته‬ ‫ی‬ ‫نمونه‬ ‫طریق‬ ‫از‬ ، ‫کلس‬ ‫از‬ ‫متغیر‬ ‫یک‬ ‫محتویات‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫مجبوریم‬
) ‫شود‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫نمونه‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫توسط‬ ‫اجزا‬ ‫این‬ ‫که‬ ‫نمیدانیم‬ ‫کلس‬ ‫نوشتن‬ ‫هنگام‬ ‫در‬ ‫ما‬ ‫بهرحال‬‫زیادی‬ ‫های‬ ‫نمونه‬ ‫است‬ ‫ممکن‬ ‫چون‬
‫باشد‬ ‫موجود‬ ‫برنامه‬ ‫در‬ ‫کلس‬ ‫یک‬ ‫از‬‫متغییر‬ ‫از‬ ‫مشکل‬ ‫این‬ ‫حل‬ ‫برای‬ ‫بنابراین‬ .(self.‫میکنیم‬ ‫استفاده‬Self‫سسست‬ ‫شسسیئی‬ ‫به‬ ‫ارجاع‬ ‫یک‬ ‫تنها‬
‫سست‬‫غ‬‫ل‬ ‫از‬ ‫سسانی‬‫س‬‫آ‬ ‫به‬ ‫میتوانید‬ ‫شما‬ ‫کنونی‬ ‫کلس‬ ‫متغییر‬ ‫به‬ ‫دسترسی‬ ‫برای‬ ‫هستیم.پس‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫مشغول‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫که‬self‫سسک‬‫ی‬ ‫و‬
.‫کنید‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫بعد‬ ‫نقطه‬
: ‫زیر‬ ‫مثال‬ ‫مانند‬
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
def count_legs(self):
print "I have %s legs" % self.number_of_legs
doug = pet()
doug.number_of_legs = 4
doug.count_legs()
‫کاربرد‬ ‫مثال‬ ‫این‬ ‫در‬self‫سسا‬‫ب‬ ‫سسونه‬‫م‬‫ن‬ ‫نام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ، ‫میکنید‬ ‫متد‬ ‫اجرای‬ ‫به‬ ‫قدام‬ ‫شما‬ ‫وقتی‬ ‫که‬ ‫است‬ ‫این‬ ‫متد‬ ‫داخل‬self‫جسسایگزین‬
‫که‬ ‫هنگامی‬ ‫شود.بنابراین‬ ‫می‬()doug.count_legs، ‫میکنیم‬ ‫فراخوانی‬ ‫را‬self‫با‬doug‫فراینسسد‬ ‫ایسسن‬ ‫اینکه‬ ‫شرح‬ ‫میشود.برای‬ ‫جایگزین‬
‫کلس‬ ‫از‬ ‫دیگری‬ ‫ی‬ ‫نمونه‬ ، ‫میکند‬ ‫کار‬ ‫چگونه‬ ‫ای‬ ‫نمونه‬ ‫چند‬ ‫حالت‬ ‫در‬pet‫نام‬ ‫به‬nemo.‫میکنیم‬ ‫اضافه‬ ‫برنامه‬ ‫به‬ ‫را‬
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
def count_legs(self):
print "I have %s legs" % self.number_of_legs
doug = pet()
doug.number_of_legs = 4
doug.count_legs()
nemo = pet()
nemo.number_of_legs = 0
nemo.count_legs()
‫خروجی‬ ‫پیغام‬ ‫ابتدا‬ ‫برنامه‬ ‫این‬۴‫سپس‬ ‫و‬۰.‫میکند‬ ‫چاپ‬ ‫را‬
‫مرجع‬ ‫چون‬ ‫است‬ ‫شده‬ ‫نوشته‬ ‫دار‬ ‫دندانه‬ ‫صورت‬ ‫به‬ ‫کامل‬ ‫متد‬ ، ‫روش‬ ‫این‬ ‫در‬self‫سسته‬‫ش‬‫نو‬ ‫سسن‬‫ت‬‫م‬ ‫به‬ ‫کامل‬ ‫و‬ ‫میکند‬ ‫تغییر‬ ‫داینامیکی‬ ‫صورت‬ ‫به‬
.‫کنیم‬ ‫دستکاری‬ ‫را‬ ‫فعلی‬ ‫شیئ‬ ‫درون‬ ‫متغییرهای‬ ‫که‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫ما‬ ‫به‬ ‫تنها‬ ‫و‬ ‫است‬ ‫وابسته‬ ‫شده‬
‫بجز‬ ‫اسمی‬ ‫هر‬ ‫متدهایتان‬ ‫برای‬ ‫میتوانید‬ ‫شما‬ : ‫نکته‬ ‫یک‬ ‫فقط‬self.‫کنید‬ ‫انتخاب‬
‫ی‬ ‫کلمه‬ ‫از‬ ‫استفاده‬self‫هرچسسه‬ ، ‫مختلف‬ ‫افراد‬ ‫توسط‬ ‫شده‬ ‫نوشته‬ ‫کدهای‬ ‫میشود‬ ‫باعث‬ ‫که‬ ‫است‬ ‫پایتون‬ ‫نویسان‬ ‫برنامه‬ ‫بین‬ ‫ساده‬ ‫توافق‬ ‫یک‬
.‫بمانید‬ ‫پایبند‬ ‫ها‬ ‫توافق‬ ‫به‬ ‫که‬ ‫است‬ ‫این‬ ‫من‬ ‫شود.نصیحت‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫استاندارد‬ ‫بیشتر‬
: ‫پیشرفته‬ ‫ویژگی‬ ‫چند‬
‫سسونه‬‫گ‬‫چ‬ ‫سسا‬‫ه‬‫آن‬ ‫سسه‬‫ک‬ ‫سسبینیم‬‫ب‬ ‫و‬ ‫سسدازیم‬‫ن‬‫بیا‬ ‫ها‬ ‫کلس‬ ‫ی‬ ‫پیشرفته‬ ‫های‬ ‫ویژگی‬ ‫به‬ ‫نگاهی‬ ‫که‬ ‫ایم‬ ‫آماده‬ ‫و‬ ‫ایم‬ ‫گذاشته‬ ‫سر‬ ‫پشت‬ ‫را‬ ‫مقدمات‬ ‫اکنون‬ ‫ما‬
.‫کنند‬ ‫کمک‬ ‫ما‬ ‫به‬ ‫یافته‬ ‫ساخت‬ ‫های‬ ‫برنامه‬ ‫طراحی‬ ‫سازی‬ ‫ساده‬ ‫در‬ ‫توانند‬ ‫می‬
‫کنیم‬ ‫صحبت‬ ‫آن‬ ‫مورد‬ ‫در‬ ‫میخواهم‬ ‫که‬ ‫بعدی‬ ‫مطلب‬"‫بری‬ ‫ارث‬‫سسایه‬‫پ‬ ‫کلس‬ ‫سسک‬‫ی‬ ‫ی‬ ‫سسایه‬‫پ‬ ‫سسر‬‫ب‬ ‫کلس‬ ‫یک‬ ‫ساخت‬ ‫فرایند‬ ‫به‬ ‫بری‬ ‫است.ارث‬ ”
.‫دهد‬ ‫می‬ ‫را‬ ‫والد‬ ‫مشخصات‬ ‫و‬ ‫ها‬ ‫ویژگی‬ ‫بردن‬ ‫ارث‬ ‫به‬ ‫ی‬ ‫اجازه‬ ‫جدید‬ ‫کلس‬ ‫به‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬
).‫باشد‬ ‫داشته‬ ‫را‬ ‫والد‬ ‫متغییرهای‬ ‫و‬ ‫متدها‬ ‫تمامی‬ ‫میتواند‬ ‫جدید‬ ‫کلس‬‫شود‬ ‫می‬ ‫گفته‬ ‫-پایه-هم‬ ‫والد‬ ‫کلس‬ ‫به‬ ‫گاهی‬.(
‫کلس‬ ‫باشد.اگر‬ ‫مفید‬ ‫تواند‬ ‫می‬ ‫حد‬ ‫چه‬ ‫تا‬ ‫تکنیک‬ ‫این‬ ‫که‬ ‫ببینیم‬ ‫تا‬ ‫دهیم‬ ‫گسترش‬ ‫را‬ ‫خود‬ ‫خانگی‬ ‫حیوانات‬ ‫مثال‬ ‫بیایید‬pet‫سسد‬‫ل‬‫وا‬ ‫عنوان‬ ‫به‬ ‫را‬
‫از‬ ‫بتواند‬ ‫که‬ ‫بسازیم‬ ‫آن‬ ‫ی‬ ‫پایه‬ ‫بر‬ ‫را‬ ‫فرزندی‬ ‫کلس‬ ‫میتوانیم‬ ، ‫بگیریم‬ ‫نظر‬ ‫در‬pet.‫کند‬ ‫بری‬ ‫ارث‬
)‫باشد‬ ‫ماهی‬ ‫یا‬ ‫و‬ ‫سگ‬ ‫مثل‬ ‫هرچیزی‬ ‫میتواند‬ ‫فرزند‬ ‫کلس‬‫سسان‬‫م‬‫ه‬ ‫سسد‬‫ن‬‫توا‬ ‫سسی‬‫م‬ ‫سسد‬‫ن‬‫فرز‬ ‫کلس‬ ‫گاهی‬pet‫سسای‬‫ه‬ ‫سسی‬‫گ‬‫ویژ‬ ‫دارای‬ ‫سسا‬‫م‬‫ا‬ ‫سسد‬‫ن‬‫بما‬ ‫سساقی‬‫ب‬
‫باشد‬ ‫خود‬ ‫مخصوص‬.(
).‫سسد‬‫ه‬‫د‬ ‫سسام‬‫ج‬‫ان‬ ‫را‬ ‫میدهد‬ ‫انجام‬ ‫خانگی‬ ‫حیوان‬ ‫یک‬ ‫که‬ ‫را‬ ‫آنچه‬ ‫تمام‬ ‫میتواند‬ ‫و‬ ‫است‬ ‫خانگی‬ ‫حیوان‬ ‫سگ‬ ‫یک‬، ‫سسورد‬‫خ‬‫می‬ ‫سسگ‬‫س‬ ‫سسال‬‫ث‬‫م‬ ‫سسرض‬‫ف‬ ‫سسه‬‫ب‬
‫دارد‬ ‫پا‬ ‫و‬ ‫دست‬ ‫تعدادی‬ ‫و‬ ‫خوابد‬ ‫می‬.‫است‬ ‫کرده‬ ‫سگ‬ ‫یک‬ ‫را‬ ‫او‬ ‫که‬ ‫دارد‬ ‫نیز‬ ‫فردی‬ ‫به‬ ‫منحصر‬ ‫های‬ ‫ویژگی‬ ‫اما‬ (
‫سسانگی‬‫خ‬ ‫سسات‬‫ن‬‫حیوا‬ ‫ی‬ ‫همه‬ ‫اما‬ ‫بردارد‬ ‫را‬ ‫چوبی‬ ‫تکه‬ ‫است‬ ‫ممکن‬ ‫سگ‬ .‫ندارند‬ ‫را‬ ‫ویژگی‬ ‫این‬ ‫خانگی‬ ‫حیوانات‬ ‫ی‬ ‫همه‬ ‫که‬ ‫حالی‬ ‫در‬ ‫؛‬ ‫دارد‬ ‫مو‬ ‫سگ‬
.‫نیستند‬ ‫کار‬ ‫این‬ ‫به‬ ‫قادر‬
.‫بگذارد‬ ‫نمایش‬ ‫به‬ ‫را‬ ‫سگ‬ ‫یک‬ ‫رفتار‬ ‫که‬ ‫کنیم‬ ‫ایجاد‬ ‫مان‬ ‫برنامه‬ ‫درون‬ ‫کلسی‬ ‫میخواهیم‬ ‫که‬ ‫بازگردیم.گفتیم‬ ‫مطلب‬ ‫اصل‬ ‫به‬ ‫خب‬
‫متغییرهسسای‬ ‫و‬ ‫متسسدها‬ ‫بسسری‬ ‫ارث‬ ‫از‬ ‫اسسستفاده‬ ‫بسسا‬ ‫میتسسوان‬pet‫کلس‬ ‫داد.بنسسابراین‬ ‫ارث‬ ‫جدیسسد‬ ‫کلس‬ ‫بسسه‬ ‫را‬doug‫متغییسسر‬ ‫توانسسد‬ ‫مسسی‬
number_of_legs‫متد‬ ‫و‬sleep.‫باشد‬ ‫داشته‬ ‫را‬
‫کلس‬ ‫در‬ ‫متغییرها‬ ‫و‬ ‫متدها‬ ‫این‬ ‫نوشتن‬ ‫بدون‬ ‫ما‬ ‫چگونه‬ ‫که‬ ‫کنید‬ ‫تعجب‬ ‫شما‬ ‫شاید‬dog‫از‬ ‫کامل‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آنها‬pet‫میگیریم؟‬
‫بری‬ ‫ارث‬۲:‫میدهد‬ ‫قرار‬ ‫ما‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫منحصربفرد‬ ‫ویژگی‬
‫یک‬‫نوع‬ ‫از‬ ‫را‬ ‫شیئی‬ ‫بخواهیم‬ ‫اگر‬ :pet.‫داد‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫این‬ ‫میتوان‬ ، ‫نباشد‬ ‫سگ‬ ‫که‬ ‫صورتی‬ ‫به‬ ‫بسازیم‬
‫دو‬)‫کنیم‬ ‫اضافه‬ ‫را‬ ‫خانگی‬ ‫حیوانات‬ ‫از‬ ‫دیگری‬ ‫نوع‬ ‫بخواهیم‬ ‫شاید‬ :‫ماهی‬ ‫یک‬ ‫مثل‬‫از‬ ‫بری‬ ‫ارث‬ ‫با‬ ‫نیز‬ ‫را‬ ‫دوم‬ ‫کلس‬ ‫این‬ ‫میتوانیم‬ ‫(ما‬pet‫سسساد‬‫ج‬‫ای‬
‫متغییرهای‬ ‫و‬ ‫متدها‬ ‫توانند‬ ‫می‬ ‫جدید‬ ‫های‬ ‫کلس‬ ‫این‬ ‫دوی‬ ‫کنیم.هر‬pet‫ویژگسسی‬ ‫زمان‬ ‫همان‬ ‫در‬ ‫توانند‬ ‫می‬ ‫همچنین‬ ‫و‬ ‫بگذارند‬ ‫اشتراگ‬ ‫به‬ ‫را‬
‫سسل‬‫ب‬‫قا‬ ‫سسوند‬‫ش‬ ‫سسی‬‫م‬ ‫سساخته‬‫س‬ ‫سسان‬‫ش‬‫خود‬ ‫از‬ ‫سسه‬‫ک‬ ‫سسیایی‬‫ش‬‫ا‬ ‫برای‬ ‫فقط‬ ‫که‬ ‫متغییرهایی‬ ‫و‬ ‫متدها‬ ‫باشند.یعنی‬ ‫داشته‬ ‫نیز‬ ‫را‬ ‫خود‬ ‫اضافی‬ ‫و‬ ‫بفرد‬ ‫منحصر‬
.‫اند‬ ‫دستیابی‬
‫سسم‬‫س‬‫ا‬ ‫سسه‬‫ب‬ ‫سسدی‬‫ی‬‫جد‬ ‫کلس‬ ‫سسدا‬‫ت‬‫اب‬ ‫سسود.در‬‫ش‬ ‫تر‬ ‫روشن‬ ‫ماجرا‬ ‫که‬ ‫بنویسیم‬ ‫چیزهایی‬ ‫دهید‬ ‫اجازه‬ ‫شویم.پس‬ ‫قضیه‬ ‫وارد‬ ‫تر‬ ‫عمیق‬ ‫کمی‬ ‫بیایید‬dog
‫ارث‬ ‫آن‬ ‫از‬ ‫باید‬ ‫که‬ ‫کلسی‬ ‫نام‬ ‫و‬ ‫دهیم‬ ‫می‬ ‫قرار‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫پرانتز‬ ‫جفت‬ ‫یک‬ ‫کالن‬ ‫علمت‬ ‫و‬ ‫کلس‬ ‫نام‬ ‫بین‬ ‫بار‬ ‫این‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫.با‬ ‫نویسیم‬ ‫می‬
.‫میدهیم‬ ‫پاس‬ ‫آن‬ ‫به‬ ‫آرگومان‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫والد‬ ‫کلس‬ ‫نام‬ ، ‫توابع‬ ‫همانند‬ ‫نویسیم.یعنی‬ ‫می‬ ‫دو‬ ‫آن‬ ‫بین‬ ‫را‬ ‫کنیم‬ ‫بری‬
‫متد‬ ‫دهد.من‬ ‫شرح‬ ‫برایمان‬ ‫را‬ ‫فرایند‬ ‫این‬ ‫کار‬ ‫طرز‬ ‫تا‬ ‫کنیم‬ ‫می‬ ‫اضافه‬ ‫کلس‬ ‫این‬ ‫به‬ ‫را‬ ‫ای‬ ‫ساده‬ ‫متد‬ ‫ادامه‬ ‫در‬bark‫سسارت‬‫ب‬‫ع‬ ‫سسا‬‫ت‬ ‫سسم‬‫س‬‫نوی‬ ‫سسی‬‫م‬ ‫را‬
woooof.‫کند‬ ‫چاپ‬ ‫را‬
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
def count_legs(self):
print "I have %s legs" % self.number_of_legs
class dog(pet):
def bark(self):
print "Wooooof"
‫ی‬ ‫سسونه‬‫م‬‫ن‬ ‫از‬ ‫سستفاده‬‫س‬‫ا‬ ‫با‬ ‫دوباره‬ !.‫افتد‬ ‫می‬ ‫اتفاقی‬ ‫چه‬ ‫کلس‬ ‫این‬ ‫از‬ ‫جدید‬ ‫ی‬ ‫نمونه‬ ‫یک‬ ‫ساخت‬ ‫با‬ ‫الن‬ ‫ببینیم‬ ‫بیایید‬doug‫کلس‬ ‫سسه‬‫ب‬ ‫سسه‬‫ک‬dog
‫میکنیم‬ ‫فراخوانی‬ ‫اینگونه‬ ‫را‬ ‫جدید‬ ‫متد‬ ،‫میکند‬ ‫اشاره‬:()doug.bark
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
def count_legs(self):
print "I have %s legs" % self.number_of_legs
class dog(pet):
def bark(self):
print "Woof"
doug = dog()
doug.bark()
.‫ایم‬ ‫ساخته‬ ‫آن‬ ‫درون‬ ‫متد‬ ‫یک‬ ‫همراه‬ ‫به‬ ‫کلس‬ ‫یک‬ ‫اینکه‬ ‫بجز‬ ‫ایم‬ ‫نداده‬ ‫انجام‬ ‫جدیدی‬ ‫کار‬ ‫هنوز‬ ‫اما‬ ‫ایم‬ ‫رفته‬ ‫پیش‬ ‫عالی‬ ‫بسیار‬ ‫کار‬ ‫اینجای‬ ‫تا‬
‫کلس‬ ‫دسترس‬ ‫در‬ ‫متغییرهای‬ ‫و‬ ‫متدها‬ ‫تمام‬ ‫که‬ ‫است‬ ‫این‬ ‫میدهد‬ ‫انجام‬ ‫ما‬ ‫برای‬ ‫بری‬ ‫ارث‬ ‫که‬ ‫کاری‬pet‫شیئ‬ ‫وارد‬ ‫را‬dog‫بنسسابر‬ ‫میکند.پس‬
: ‫بنویسم‬ ‫اینگونه‬ ‫توانم‬ ‫می‬ ‫ها‬ ‫گفته‬ ‫این‬
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
def count_legs(self):
print "I have %s legs" % self.number_of_legs
class dog(pet):
def bark(self):
print "Woof"
doug = dog()
doug.sleep()
‫متد‬ ‫مراحل‬ ‫این‬ ‫از‬ ‫پس‬sleep‫شیئ‬ ‫حقیقت‬ ‫در‬ . ‫شود‬ ‫می‬ ‫اجرا‬ ‫درستی‬ ‫به‬doug‫کلس‬ ‫هردو‬ ‫به‬pet‫و‬dog‫از‬ ‫سسان‬‫ن‬‫اطمی‬ ‫سسرای‬‫ب‬.‫دارد‬ ‫سسق‬‫ل‬‫تع‬
:‫میکنیم‬ ‫امتحان‬ ‫را‬ ‫کدها‬ ‫این‬ ‫اند‬ ‫رسیده‬ ‫ارث‬ ‫به‬ ‫متدها‬ ‫مانند‬ ‫هم‬ ‫متغییرها‬ ‫اینکه‬
class pet:
number_of_legs = 0
def sleep(self):
print "zzz"
def count_legs(self):
print "I have %s legs" % self.number_of_legs
class dog(pet):
def bark(self):
print "Woof"
doug = dog()
doug.number_of_legs = 4
doug.count_legs()
‫که‬ ‫ببینید‬ ‫توانید‬ ‫می‬doug‫سسد.کلس‬‫ن‬‫ا‬ ‫سسده‬‫ش‬ ‫سسرده‬‫ب‬ ‫ارث‬ ‫سسه‬‫ب‬ ‫درستی‬ ‫به‬ ‫متغییرها‬ ‫که‬ ‫است‬ ‫معنی‬ ‫بدان‬ ‫این‬ ‫و‬ ‫میکند‬ ‫کار‬ ‫درستی‬ ‫به‬ ‫سابق‬ ‫مانند‬
‫سسایش‬‫م‬‫ن‬ ‫سسه‬‫ب‬ ‫را‬ ‫خود‬ ‫به‬ ‫مخصوص‬ ‫عملکرد‬ ‫چند‬ ‫که‬ ‫است‬ ‫خود‬ ‫والد‬ ‫از‬ ‫یافته‬ ‫تغییر‬ ‫و‬ ‫منحصربفرد‬ ، ‫ویژه‬ ‫ی‬ ‫نسخه‬ ‫یک‬ ‫ساختیم‬ ‫که‬ ‫جدیدی‬ ‫فرزند‬
.‫دارد‬ ‫خود‬ ‫با‬ ‫نیز‬ ‫را‬ ‫والد‬ ‫عملکردهای‬ ‫و‬ ‫ها‬ ‫حالت‬ ‫تمامی‬ ‫که‬ ‫حالی‬ ‫در‬ ، ‫میگذارد‬
‫محمدکریمی‬ ‫بهنام‬ :‫تنظیم‬ ‫و‬ ‫ترجمه‬
‫نوروز‬۹۳
: ‫منبع‬http://code.tutsplus.com/

Mais conteúdo relacionado

Semelhante a Object-Oriented-Programming-in-Python

یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...SaeedAsghari5
 
حقوق ودستمزد در اكسل
حقوق ودستمزد در اكسلحقوق ودستمزد در اكسل
حقوق ودستمزد در اكسلmostafa zarei
 
Design Patterns چیست و به چه دردی می خورد؟ (persian)
Design Patterns  چیست و به چه دردی می خورد؟ (persian)Design Patterns  چیست و به چه دردی می خورد؟ (persian)
Design Patterns چیست و به چه دردی می خورد؟ (persian)Mahmoud Masih Tehrani
 
How to be a better Developer & Programmer
How to be a better Developer & ProgrammerHow to be a better Developer & Programmer
How to be a better Developer & ProgrammerReza Razavi
 
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
 (ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ... (ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...Muhibullah Aman
 
مبانی تعیین نیازمندی ها و الزامات
مبانی تعیین نیازمندی ها و الزاماتمبانی تعیین نیازمندی ها و الزامات
مبانی تعیین نیازمندی ها و الزاماتali rasouli
 
تیم پراکنده چیست؟
تیم پراکنده چیست؟تیم پراکنده چیست؟
تیم پراکنده چیست؟zohreh ahmadi
 
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپتScalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپتefazati
 
آشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندرویدآشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندرویدSadegh Ghanbari Shohani
 
Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...
Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...
Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...Jahan Zinedine
 
Introduction to design pattern
Introduction to design patternIntroduction to design pattern
Introduction to design patternReza Rahimy
 

Semelhante a Object-Oriented-Programming-in-Python (20)

یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
یکی از بزرگ‌ترین مشکلات OOP اینه که اتفاق نظر بر سر اینکه OOP دقیقا چه چیزی ه...
 
حقوق ودستمزد در اكسل
حقوق ودستمزد در اكسلحقوق ودستمزد در اكسل
حقوق ودستمزد در اكسل
 
Design Patterns چیست و به چه دردی می خورد؟ (persian)
Design Patterns  چیست و به چه دردی می خورد؟ (persian)Design Patterns  چیست و به چه دردی می خورد؟ (persian)
Design Patterns چیست و به چه دردی می خورد؟ (persian)
 
How to be a better Developer & Programmer
How to be a better Developer & ProgrammerHow to be a better Developer & Programmer
How to be a better Developer & Programmer
 
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
 (ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ... (ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
(ِData Structures-Java Object oriented Programming Languages)ساختارهای دیتا ...
 
Sql tuning
Sql tuningSql tuning
Sql tuning
 
مبانی تعیین نیازمندی ها و الزامات
مبانی تعیین نیازمندی ها و الزاماتمبانی تعیین نیازمندی ها و الزامات
مبانی تعیین نیازمندی ها و الزامات
 
7 ترفند ضروری و موردنیاز در اکسل 2013
7 ترفند ضروری و موردنیاز در اکسل 20137 ترفند ضروری و موردنیاز در اکسل 2013
7 ترفند ضروری و موردنیاز در اکسل 2013
 
Docker
DockerDocker
Docker
 
S1
S1S1
S1
 
Pg autoscaling in ceph
Pg autoscaling in  cephPg autoscaling in  ceph
Pg autoscaling in ceph
 
تیم پراکنده چیست؟
تیم پراکنده چیست؟تیم پراکنده چیست؟
تیم پراکنده چیست؟
 
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپتScalable javascript application -  طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
Scalable javascript application - طراحی نرم افزارهای مقیاس پذیر با جاوا اسکریپت
 
آشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندرویدآشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندروید
 
AngularJS
AngularJSAngularJS
AngularJS
 
rbdmap in ceph
rbdmap in ceph rbdmap in ceph
rbdmap in ceph
 
how enable ceph dashboard
how enable  ceph dashboardhow enable  ceph dashboard
how enable ceph dashboard
 
Content strategy
Content strategyContent strategy
Content strategy
 
Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...
Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...
Clojure se-radio.net Interview with Rich Hickey (ترجمه مصاحبه رادیو مهندسی نر...
 
Introduction to design pattern
Introduction to design patternIntroduction to design pattern
Introduction to design pattern
 

Object-Oriented-Programming-in-Python

  • 1. ‫در‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬‫پایتون‬ )Object Oriented Programming-OOP( .‫بپردازیم‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫مفهوم‬ ‫مورد‬ ‫در‬ ‫کاوش‬ ‫به‬ ‫داریم‬ ‫قصد‬ ‫مقاله‬ ‫این‬ ‫در‬ OOP‫سسی‬‫س‬‫کدنوی‬ ‫سسود‬‫ب‬ ‫سسد‬‫ی‬‫خواه‬ ‫سسادر‬‫ق‬ ‫آن‬ ‫سساهیم‬‫ف‬‫م‬ ‫از‬ ‫سسی‬‫ق‬‫عمی‬ ‫درک‬ ‫به‬ ‫رسیدن‬ ‫صورت‬ ‫در‬ ‫شما‬ ‫و‬ ‫است‬ ‫کدهایتان‬ ‫مدیریت‬ ‫برای‬ ‫قدرتمند‬ ‫راهی‬ .‫بخشید‬ ‫بهبود‬ ‫را‬ ‫خود‬ ( ‫نویسی‬ ‫برنامه‬ ) ‫؟‬ ‫چیست‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫حقیقت‬ ‫در‬ ‫شد.اما‬ ‫طراحی‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫ابتدا‬ ‫از‬ ‫پایتون‬"‫گرایی‬ ‫شیئ‬‫معناست؟‬ ‫چه‬ ‫به‬ " ‫قالب‬ ‫در‬ ‫را‬ ‫آن‬ ‫کنید‬ ‫سعی‬ ‫و‬ ‫بنشینید‬ ‫صحبت‬ ‫به‬ ‫آن‬ ‫مورد‬ ‫در‬ ‫ساعت‬ ‫چندین‬ ‫برای‬ ‫میتوانید‬ ‫شما‬ ‫و‬ ‫دارد‬ ‫وجود‬ ‫عبارت‬ ‫این‬ ‫برای‬ ‫گوناگونی‬ ‫تعابیر‬ ‫روی‬ ‫را‬ ‫سسریع‬‫س‬ ‫سسرور‬‫م‬ ‫یک‬ ‫میکنم‬ ‫سعی‬ ‫اینجا‬ ‫در‬ ‫من‬ ‫که‬ ‫دهید.هرچند‬ ‫شرح‬ ‫سازی‬ ‫پیاده‬ ‫در‬ ‫ها‬ ‫کاری‬ ‫ریزه‬ ‫و‬ ‫ها‬ ‫تفاوت‬ ‫بیان‬ ‫با‬ ‫و‬ ‫پیچیده‬ ‫عبارات‬ .‫باشم‬ ‫داشته‬ ‫شما‬ ‫برای‬ ‫مفاهیم‬ ‫این‬ ‫به‬ ‫نسبت‬ ‫هستیم‬ ‫آنها‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫حال‬ ‫در‬ ‫ما‬ ‫که‬ ‫اشیائی‬ ، ‫آن‬ ‫اساس‬ ‫بر‬ ‫که‬ ‫است‬ ‫نویسی‬ ‫برنامه‬ ‫دنیای‬ ‫در‬ ‫مفهوم‬ ‫یک‬ ‫گرایی‬ ‫شیئ‬ ، ‫کلی‬ ‫طور‬ ‫به‬ .‫باشند‬ ‫می‬ ‫برخوردار‬ ‫بیشتری‬ ‫اهمیت‬ ‫از‬ ‫اشیاء‬ ‫این‬ ‫دستکاری‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫منطق‬ ‫سسن‬‫ی‬‫ا‬ ‫سسردن‬‫ک‬ ‫سسال‬‫ب‬‫دن‬ ‫با‬ ‫توان‬ ‫می‬ ‫که‬ ‫شود‬ ‫می‬ ‫مشاهده‬ ‫ها‬ ‫دستورالعمل‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫یا‬ ‫و‬ ‫دستورالعمل‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫برنامه‬ ‫یک‬ ‫سنتی‬ ‫طور‬ ‫به‬ ‫یک‬ ‫اجرای‬ ‫و‬ ‫تکمیل‬ ‫مراحل‬ ‫مشخص‬ ‫ترتیب‬ ‫یک‬ ‫در‬ ‫ها‬ ‫دستورالعمل‬"‫وظیفه‬.‫پیمود‬ ‫انتها‬ ‫تا‬ ‫ابتدا‬ ‫از‬ ‫را‬ “ ‫سسام‬‫ن‬ ‫سسا‬‫ب‬ ‫رویکرد‬ ‫آید.این‬ ‫می‬ ‫شمار‬ ‫به‬ ‫حیاتی‬ ‫نیازی‬ ‫ساده‬ ‫های‬ ‫برنامه‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫حتی‬ ‫و‬ ‫باشد‬ ‫درست‬ ‫میتواند‬ ‫نیز‬ ‫امروزه‬ ‫رویکرد‬ ‫این‬"‫سسامه‬‫ن‬‫بر‬ ‫ای‬ ‫رویه‬ ‫نویسی‬.‫میشود‬ ‫شناخته‬ ” ‫درک‬ ‫سسل‬‫ب‬‫غیرقا‬ ‫و‬ ‫سسده‬‫ی‬‫تن‬ ‫سسم‬‫ه‬‫در‬ ‫سسیار‬‫س‬‫ب‬ ‫آن‬ ‫نوشتن‬ ‫ای‬ ‫رویه‬ ‫برای‬ ‫لزم‬ ‫منطق‬ ، ‫میشود‬ ‫تر‬ ‫پیچیده‬ ‫و‬ ‫بزرگتر‬ ‫برنامه‬ ‫که‬ ‫هنگامی‬ ، ‫دیگر‬ ‫عبارتی‬ ‫به‬ .‫بیاید‬ ‫شما‬ ‫کمک‬ ‫به‬ ‫مواردی‬ ‫چنین‬ ‫این‬ ‫در‬ ‫میتواند‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫رویکرد‬ ‫میشود.گاهی‬ ‫سسای‬‫ه‬ ‫سستورالعمل‬‫س‬‫د‬ ‫از‬ ‫سسمتی‬‫س‬‫ق‬ ‫سسن‬‫ی‬‫همچن‬ ‫و‬ ‫سسا‬‫ه‬ ‫داده‬ ‫و‬ ‫سسات‬‫ع‬‫اطل‬ ‫سسرای‬‫ب‬ ‫هایی‬ ‫ظرف‬ ‫عنوان‬ ‫به‬ ‫تنها‬ ‫اشیاء‬ ‫از‬ ‫اینکه‬ ‫جای‬ ‫به‬ ‫گرا‬ ‫شیئ‬ ‫رویکرد‬ ‫در‬ .‫میدهیم‬ ‫قرار‬ ‫نویسی‬ ‫برنامه‬ ‫فرایند‬ ‫کانون‬ ‫در‬ ‫را‬ ‫آنها‬ ، ‫شود‬ ‫استفاده‬ ‫ای‬ ‫رویه‬ ‫از‬ ‫میکنیم.سپس‬ ‫مشخص‬ ‫را‬ ‫اجزا‬ ‫سایر‬ ‫با‬ ‫آن‬ ‫ارتباط‬ ‫چگونگی‬ ‫نیز‬ ‫و‬ ‫میپردازیم‬ ‫کنیم‬ ‫کار‬ ‫آن‬ ‫روی‬ ‫میخواهیم‬ ‫که‬ ‫شیئی‬ ‫تعریف‬ ‫به‬ ‫ما‬ ‫اول‬ ‫قدم‬ ‫در‬ .‫شود‬ ‫اجرا‬ ‫درستی‬ ‫شکل‬ ‫به‬ ‫برنامه‬ ‫تا‬ ، ‫میبخشیم‬ ‫جان‬ ‫و‬ ‫جسم‬ ‫آن‬ ‫به‬ ‫منطق‬ ‫طریق‬ ‫سسط‬‫س‬‫ب‬ ‫را‬ ‫سسا‬‫ه‬ ‫سسحبت‬‫ص‬ ‫سسن‬‫ی‬‫ا‬ ‫سسمارش‬‫ش‬ ‫سسل‬‫ب‬‫قا‬ ‫سسیاء‬‫ش‬‫ا‬ ‫تمام‬ ‫مورد‬ ‫در‬ ‫بتوانم‬ ‫باید‬ ‫که‬ ‫است‬ ‫این‬ ‫معنی‬ ‫به‬ ‫میکنم‬ ‫صحبت‬ ‫اشیاء‬ ‫مورد‬ ‫در‬ ‫من‬ ‫که‬ ‫وقتی‬ ) ”‫شخص‬ ‫یک‬ ‫به‬ ‫میتواند‬ ‫شیئ‬ ‫دهم.یک‬"‫میشود‬ ‫مشخص‬ ‫غیره‬ ‫و‬ ‫آدرس‬ ، ‫سن‬ ، ‫نام‬ ‫نظیر‬ ‫هایی‬ ‫ویژگی‬ ‫ی‬ ‫وسیله‬ ‫به‬ ‫که‬”‫سسرکت‬‫ش‬ ‫سسک‬‫ی‬ ‫سسا‬‫ی‬ ‫و‬ (" )‫میشود‬ ‫تعریف‬ ‫آن‬ ‫مشابه‬ ‫چیزهای‬ ‫و‬ ‫کارمندان‬ ‫تعداد‬ ‫نظیر‬ ، ‫هایش‬ ‫ویژگی‬ ‫وسیله‬ ‫به‬ ‫که‬‫بسسسیار‬ ‫مفاهیمی‬ ‫به‬ ‫میتواند‬ ‫حتی‬ .‫باشد‬ ‫داشته‬ ‫اشاره‬ ( .‫کند‬ ‫اشاره‬ ‫رایانه‬ ‫یک‬ ‫کاربری‬ ‫واسط‬ ‫در‬ ‫دکمه‬ ‫یک‬ ‫مانند‬ ‫انتزاعی‬ ‫سست‬‫ق‬‫و‬ ‫آن‬ ‫سسرای‬‫ب‬ ‫را‬ ‫سسب‬‫ش‬ ‫سسل‬‫ک‬ ‫سسد‬‫ی‬‫با‬ ‫سسورت‬‫ص‬ ‫این‬ ‫در‬ ‫چون‬ ‫دهم‬ ‫پوشش‬ ‫مفصل‬ ‫طور‬ ‫به‬ ‫را‬ ‫شده‬ ‫بحث‬ ‫مفاهیم‬ ‫تمامی‬ ‫که‬ ‫ندارم‬ ‫قصد‬ ‫من‬ ‫اینجا‬ ‫در‬ ‫در‬ ‫سسرا‬‫گ‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫شروع‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ ‫ی‬ ‫ساده‬ ‫مفاهیم‬ ‫از‬ ‫عمیقی‬ ‫درک‬ ‫ها‬ ‫آموزش‬ ‫این‬ ‫پایان‬ ‫در‬ ‫بتوانید‬ ‫شما‬ ‫که‬ ‫امیدوارم‬ ‫بگذارم.اما‬
  • 2. ‫سسن‬‫ی‬‫ا‬ ‫سسر‬‫ب‬.‫سستند‬‫س‬‫ه‬ ‫مشابه‬ ‫نسبتا‬ ‫نویسی‬ ‫برنامه‬ ‫های‬ ‫محیط‬ ‫از‬ ‫بسیاری‬ ‫در‬ ‫فوق‬ ‫مفاهیم‬ ‫که‬ ‫است‬ ‫این‬ ‫قضیه‬ ‫این‬ ‫مثبت‬ ‫ی‬ ‫جنبه‬ .‫کنید‬ ‫پیدا‬ ‫پایتون‬ .‫بود‬ ‫خواهد‬ ‫راحت‬ ‫دیگر‬ ‫زبان‬ ‫به‬ ‫زبان‬ ‫یک‬ ‫از‬ ‫مهاجرت‬ ‫اساس‬ : ‫کار‬ ‫به‬ ‫آغاز‬ ‫سسا‬‫ب‬ ‫سسواهیم‬‫خ‬‫می‬ ‫که‬ ‫است‬ ‫اشیائی‬ ‫تعریف‬ ، ‫دهید‬ ‫انجام‬ ‫باید‬ ‫گرا‬ ‫شیئ‬ ‫نویسی‬ ‫برنامه‬ ‫در‬ ‫که‬ ‫کاری‬ ‫اولین‬ ، ‫کردم‬ ‫اشاره‬ ‫قبل‬ ‫قسمت‬ ‫در‬ ‫که‬ ‫همانطور‬ ‫سسک‬‫ی‬ ‫سسالب‬‫ق‬ ‫در‬ ‫مربوطه‬ ‫شیئ‬ ‫های‬ ‫ویژگی‬ ‫کردن‬ ‫تعریف‬ ، ‫برمیداریم‬ ‫کار‬ ‫این‬ ‫انجام‬ ‫برای‬ ‫ما‬ ‫که‬ ‫قدمی‬ ‫کنیم.اولین‬ ‫کار‬ ‫آنها‬"‫کلس‬‫سسما‬‫ش‬.‫سست‬‫س‬‫ا‬ ” ‫سسر‬‫ه‬ .‫سسود‬‫ش‬ ‫سساخته‬‫س‬ ‫آن‬ ‫روی‬ ‫از‬ ‫است‬ ‫قرار‬ ‫که‬ ‫شیئی‬ ‫برای‬ ‫راه‬ ‫ی‬ ‫نقشه‬ ‫و‬ ‫راهنما‬ ‫یک‬ ‫بگیرید.یعنی‬ ‫نظر‬ ‫در‬ ‫قالب‬ ‫یا‬ ‫الگو‬ ‫یک‬ ‫همانند‬ ‫را‬ ‫کلس‬ ‫یک‬ ‫سسار‬‫ت‬‫رف‬ ‫سسود‬‫خ‬ ‫سسرای‬‫ب‬ ‫سسک‬‫ی‬ ‫هر‬ ‫کلس‬ ‫یک‬ ‫روی‬ ‫از‬ ‫شده‬ ‫ساخته‬ ‫شیئ‬ ‫چند‬ ‫میبرد.اما‬ ‫ارث‬ ‫به‬ ‫را‬ ‫آن‬ ‫های‬ ‫ویژگی‬ ‫و‬ ‫است‬ ‫کلس‬ ‫یک‬ ‫به‬ ‫متعلق‬ ‫شیئ‬ .‫داشت‬ ‫خواهند‬ ‫مستقلی‬ ‫اسم‬ ‫به‬ ‫کلسی‬ ‫است‬ ‫ممکن‬ ‫شما‬ ، ‫ساده‬ ‫مثال‬ ‫یک‬ ‫عنوان‬ ‫به‬person‫اسسست‬ ‫ممکسسن‬ ‫همچنین‬ .‫باشید‬ ‫داشته‬ ‫نام‬ ‫و‬ ‫سن‬ ‫مانند‬ ‫هایی‬ ‫ویژگی‬ ‫با‬ ‫و‬ ) ‫کلس‬ ‫این‬ ‫از‬ ‫ای‬ ‫نمونه‬‫کلس‬ ‫از‬ ‫شیئ‬ ‫یک‬‫سسخص‬‫ش‬ ‫سسن‬‫ی‬‫ا‬ ‫سسام‬‫ن‬.‫بود‬ ‫خواهد‬ ‫جامعه‬ ‫در‬ ‫یکتا‬ ‫شخص‬ ‫یک‬ ‫مبین‬ ‫صورت‬ ‫این‬ ‫در‬ ‫که‬ ‫باشید‬ ‫ساخته‬ ( ‫میتواند‬Andy‫او‬ ‫سن‬ ‫و‬۲۳‫کلس‬ ‫همین‬ ‫از‬ ‫نیز‬ ‫دیگری‬ ‫شخص‬ ‫میتوانید‬ ‫شما‬ ‫باشد.اما‬ ‫سال‬person‫مثل‬ ‫او‬ ‫نسسام‬ ‫که‬ ‫کنید‬ ‫سازی‬ ‫شبیه‬Lucy ‫و‬ ‫باشد‬۱۸.‫باشد‬ ‫داشته‬ ‫سن‬ ‫سال‬ ‫خط‬ ‫چند‬ ‫نوشتن‬ ‫به‬ ‫شروع‬ ‫جدی‬ ‫صورت‬ ‫به‬ ‫دهید‬ ‫اجازه‬ ‫پس‬ .‫بود‬ ‫خواهد‬ ‫سخت‬ ‫زمینه‬ ‫این‬ ‫در‬ ‫تمرین‬ ‫چند‬ ‫دیدن‬ ‫بدون‬ ‫مسائل‬ ‫این‬ ‫فهم‬ ‫حقیقتا‬ .‫کنیم‬ ‫کد‬ : ‫کل س‬ ‫تعریف‬ ‫سست‬‫غ‬‫ل‬ ‫از‬ ‫سسایتون‬‫پ‬ ‫نویسی‬ ‫برنامه‬ ‫مدل‬ ‫ترین‬ ‫ساده‬ ‫اساس‬ ‫بر‬ ‫کلس‬ ‫یک‬ ‫تعریف‬ ‫برای‬ ‫ما‬class‫کلس‬ ‫سسام‬‫ن‬ ‫آن‬ ‫سسال‬‫ب‬‫دن‬ ‫سسه‬‫ب‬ ‫سسه‬‫ک‬ ‫سسم‬‫ی‬‫میکن‬ ‫سستفاده‬‫س‬‫ا‬ .‫آوریم‬ ‫می‬ ‫را‬ ‫جدیدمان‬ ‫نام‬ ‫به‬ ‫جدید‬ ‫کلس‬ ‫یک‬ ‫میخواهم‬ ‫اینجا‬ ‫در‬ ‫من‬pet.‫بسازم‬ ‫سسرد‬‫ی‬‫گ‬ ‫سسرار‬‫ق‬ ‫کلس‬ ‫سسف‬‫ی‬‫تعر‬ ‫ی‬ ‫محدوده‬ ‫درون‬ ‫که‬ ‫چیز‬ ‫هر‬ ‫آن‬ ‫از‬ ‫پس‬ ‫و‬ ‫میدهیم‬ ‫قرار‬ ‫کلس‬ ‫نام‬ ‫انتهای‬ ‫در‬ ‫را‬ ( : ) ‫کالن‬ ‫علمت‬ ‫یک‬ ‫بلفاصله‬ ‫ما‬ ‫ی‬ ‫سسه‬‫م‬‫کل‬ ‫سسال‬‫ب‬‫دن‬ ‫سسه‬‫ب‬ ‫سسورت‬‫ص‬ ‫سسر‬‫ه‬ ‫در‬ ‫سسه‬‫ک‬ ‫کنید‬ ‫دار(.توجه‬ ‫دندانه‬ ‫صورت‬ ‫بیاید)به‬ ‫فاصله‬ ‫خالی‬ ‫جای‬ ‫یک‬ ‫با‬ ‫باید‬class‫سسته‬‫ش‬‫نو‬ ‫سستزی‬‫ن‬‫پرا‬ ‫سسچ‬‫ی‬‫ه‬ : ‫نمیشود‬ class pet: ‫جفت‬ ‫یک‬ ‫بیایید‬ ‫شروع‬ ‫میرود.برای‬ ‫شمار‬ ‫به‬ ‫ای‬ ‫استفاده‬ ‫بی‬ ‫موجود‬ ‫ندهیم‬ ‫قرار‬ ‫آن‬ ‫درون‬ ‫چیزی‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫اما‬ ‫داریم‬ ‫کلس‬ ‫یک‬ ‫الن‬ ‫ما‬ ‫خب‬ ).‫کنید‬ ‫تعریف‬ ‫کلس‬ ‫درون‬ ‫آسانی‬ ‫به‬ ‫را‬ ‫متغییر‬ ‫تعدادی‬ ‫میتوانید‬ ‫کار‬ ‫این‬ ‫دهیم.برای‬ ‫نسبت‬ ‫آن‬ ‫به‬ ‫ویژگی‬‫عددی‬ ‫متغییر‬ ‫یک‬ ‫کار‬ ‫این‬ ‫برای‬ ‫من‬ ‫میگیرم‬ ‫نظر‬ ‫در‬ ‫خانگی‬ ‫حیوان‬ ‫پاهای‬ ‫تعداد‬ ‫شمارشگر‬ ‫عنوان‬ ‫به‬ ‫را‬‫سستی‬‫ح‬‫را‬ ‫سسه‬‫ب‬ ‫سسه‬‫ک‬ ‫سسود‬‫ش‬ ‫انتخاب‬ ‫باید‬ ‫ای‬ ‫گونه‬ ‫به‬ ‫متغییر‬ ‫اسم‬ ‫همیشه‬ ‫مانند‬ .( ‫را‬ ‫آن‬ ‫اسم‬ ‫دهید‬ ‫اجازه‬ .‫آورید‬ ‫دست‬ ‫به‬ ‫متغییر‬ ‫مورد‬ ‫در‬ ‫اطلعاتی‬ ‫بتوانید‬number_Of_edge‫سساص‬‫ص‬‫اخت‬ ‫آن‬ ‫سسه‬‫ب‬ ‫مقدار‬ ‫یک‬ ‫باید‬ ‫الن‬ .‫بگذاریم‬ .‫میکنیم‬ ‫دریافت‬ ‫خطا‬ ‫یک‬ ‫وگرنه‬ ‫دهیم‬ ‫مقدار‬ ‫از‬ ‫اینجا‬ ‫من‬۰)‫میکنم‬ ‫استفاده‬‫مثل‬ ‫نسسدارد‬ ‫اهمیت‬ ‫زیاد‬ ‫ندارند‬ ‫یکسانی‬ ‫پاهای‬ ‫تعداد‬ ‫خانگی‬ ‫حیوانات‬ ‫تمام‬ ‫اینکه‬ ‫به‬ ‫توجه‬ ‫مورد‬ ‫این‬ ‫در‬– ‫دهیم‬ ‫تغییر‬ ‫را‬ ‫متغییر‬ ‫مقدار‬ ‫کلس‬ ‫این‬ ‫از‬ ‫نمونه‬ ‫هر‬ ‫برای‬ ‫که‬ ‫مجبوریم‬ ‫ما‬ ‫صورت‬ ‫هر‬ ‫در‬ ‫نیستند‬ ‫برابر‬ ‫سگ‬ ‫و‬ ‫ماهی‬ ‫پاهای‬ ‫تعداد‬–.( class pet: number_of_legs = 0
  • 3. : ‫متغییر‬ ‫عناصر‬ ‫و‬ ‫ها‬ ‫نمونه‬ ‫ان‬ ‫سستکاری‬‫س‬‫د‬ ‫سسه‬‫ب‬ ‫سسپس‬‫س‬ ‫و‬ ‫سساخته‬‫س‬ ‫را‬ ‫آن‬ ‫از‬ ‫سسونه‬‫م‬‫ن‬ ‫سسک‬‫ی‬ ‫سسوریم‬‫ب‬‫مج‬ ‫سسدا‬‫ت‬‫اب‬ ‫در‬ ‫یعنی‬ .‫کرد‬ ‫کار‬ ‫مستقیم‬ ‫صورت‬ ‫به‬ ‫کلس‬ ‫یک‬ ‫با‬ ‫نمیتوان‬ ‫معمول‬ .‫بپردازیم‬ .‫دهیم‬ ‫قرار‬ ‫متغییر‬ ‫یک‬ ‫درون‬ ‫را‬ ‫شده‬ ‫ساخته‬ ‫ی‬ ‫نمونه‬ ‫توانیم‬ ‫می‬ ) ‫کلس‬ ‫خارج‬ ‫در‬ ‫بیایید‬‫کلس‬ ‫دار‬ ‫دندانه‬ ‫ساختار‬ ‫از‬ ‫بیرون‬ ‫یعنی‬‫نام‬ ‫به‬ ‫متغییری‬ ‫درون‬ ‫را‬ ‫نمونه‬ (doug‫سسساخت‬ ‫بسسرای‬ ‫راحتی‬ ‫به‬ .‫دهیم‬ ‫قرار‬ .‫دهید‬ ‫قرار‬ ‫پرانتز‬ ‫جفت‬ ‫یک‬ ‫آن‬ ‫دنبال‬ ‫به‬ ‫و‬ ‫کنید‬ ‫تایپ‬ ‫را‬ ‫آن‬ ‫نام‬ ، ‫کلس‬ ‫از‬ ‫جدید‬ ‫ی‬ ‫نمونه‬ ‫یک‬ ‫سساخت‬‫س‬ ‫ی‬ ‫سسه‬‫ظ‬‫لح‬ ‫در‬ ‫سسه‬‫ک‬ ‫ست‬ ‫راهی‬ ‫این‬ ، ‫توابع‬ ‫همانند‬ ‫که‬ ‫دید‬ ‫خواهید‬ ‫بعدا‬ ‫چون‬ ‫باشید‬ ‫پرانتزها‬ ‫از‬ ‫استفاده‬ ‫نگران‬ ‫نیست‬ ‫لزم‬ ‫اینجا‬ ‫در‬ ‫البته‬ .‫فرستاد‬ ‫آن‬ ‫متغییرهای‬ ‫به‬ ‫را‬ ‫مقادیری‬ ‫میتوان‬ ‫کلس‬ ‫از‬ ‫نمونه‬ class pet: number_of_legs = 0 doug = pet() ‫کلس‬ ‫از‬ ‫نمونه‬ ‫یک‬ ‫الن‬ ‫ما‬pet‫ایم؟‬ ‫کرده‬ ‫پیدا‬ ‫را‬ ‫آن‬ ‫های‬ ‫ویژگی‬ ‫در‬ ‫دستکاری‬ ‫توانایی‬ ‫الن‬ ‫داریم.آیا‬ ‫را‬ )‫است‬ ‫شیئ‬ ‫کدام‬ ‫منظورمان‬ ‫بگوییم‬ ‫پایتون‬ ‫به‬ ‫باید‬ ‫ابتدا‬ ‫در‬ ‫شیئ‬ ‫یک‬ ‫خصوصیات‬ ‫به‬ ‫اشاره‬ ‫برای‬‫کلس‬ ‫از‬ ‫نمونه‬ ‫کدام‬ ‫یا‬‫ایسسن‬ ‫در‬ ‫مسسا‬ ‫(.بنابراین‬ ‫کردن‬ ‫تایپ‬ ‫با‬ ‫را‬ ‫خود‬ ‫کار‬ ، ‫مثال‬doug‫به‬ ‫دسترسی‬ ‫قصد‬ ‫کنیم‬ ‫مشخص‬ ‫تا‬ ‫قرارمیدهیم‬ ‫نقطه‬ ‫یک‬ ‫آن‬ ‫از‬ ‫میکنیم.بعد‬ ‫شروع‬ ‫است‬ ‫نمونه‬ ‫نام‬ ‫که‬ ‫ی‬ ‫نمونه‬ ‫محتویات‬ ‫از‬ ‫یکی‬doug‫داده‬ ‫انجسسام‬ ‫درست‬ ‫را‬ ‫فوق‬ ‫مراحل‬ ‫تمام‬ ‫آوریم.اگر‬ ‫می‬ ‫را‬ ‫خود‬ ‫موردنظر‬ ‫خصوصیت‬ ‫نام‬ ، ‫نقطه‬ ‫از‬ ‫داریم.پس‬ ‫را‬ : ‫باشد‬ ‫جلویتان‬ ‫چیزی‬ ‫همچین‬ ‫الن‬ ‫باید‬ ‫باشید‬ doug.number_of_legs ‫میخواهم‬ ‫الن‬ ‫کنیم.من‬ ‫تکرار‬ ‫نیز‬ ‫متغییرهایمان‬ ‫سایر‬ ‫برای‬ ‫مشابه‬ ‫طور‬ ‫به‬ ‫را‬ ‫کار‬ ‫این‬ ‫میتوانیم‬ ‫ما‬doug‫کنم‬ ‫دهی‬ ‫مقدار‬ ‫سگ‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫مقدار‬ ‫آن‬ ‫متغییر‬ ‫به‬ ‫و‬۴)‫بدهم‬‫دارای‬ ‫سگ‬ ‫چون‬۴‫باشد‬ ‫می‬ ‫پا‬( : ‫شویم‬ ‫مطمئن‬ ‫کارمان‬ ‫صحت‬ ‫از‬ ‫تا‬ ‫بنویسیم‬ ‫مان‬ ‫خانگی‬ ‫حیوان‬ ‫پاهای‬ ‫تعداد‬ ‫چاپ‬ ‫برای‬ ‫کد‬ ‫خط‬ ‫یک‬ ‫هم‬ ‫کار‬ ‫پایان‬ ‫در‬ ‫باشید‬ ‫موافق‬ ‫اگر‬ class pet: number_of_legs = 0 doug = pet() doug.number_of_legs = 4 print "Doug has %s legs." % doug.number_of_legs ‫کلس‬ ‫کد‬ ‫شد.این‬ ‫خواهد‬ ‫داده‬ ‫نمایش‬ ‫شما‬ ‫برای‬ ‫نظر‬ ‫مورد‬ ‫خروجی‬ ‫که‬ ‫میبینید‬ ‫کنید‬ ‫اجرا‬ ‫را‬ ‫فوق‬ ‫کد‬ ‫اگر‬pet‫سسونه‬‫م‬‫ن‬ ‫سسک‬‫ی‬ ، ‫میکند‬ ‫تعریف‬ ‫را‬ ‫متغییر‬ ‫درون‬ ‫را‬ ‫آن‬ ‫و‬ ‫میسازد‬ ‫آن‬ ‫از‬doug‫سسا‬‫ب‬ ‫را‬ ‫آن‬ ‫ی‬ ‫سسرده‬‫ب‬ ‫ارث‬ ‫سسه‬‫ب‬ ‫خاصیت‬ ‫و‬ ‫میرود‬ ‫شده‬ ‫ایجاد‬ ‫ی‬ ‫نمونه‬ ‫درون‬ ‫به‬ ‫سپس‬ ‫و‬ ‫میکند‬ ‫ذخیره‬۴ ).‫میکند‬ ‫مقداردهی‬‫خاصیت‬number_of_legs‫است‬ ‫شده‬ ‫برده‬ ‫ارث‬ ‫به‬ ‫اصلی‬ ‫کلس‬ ‫از‬( .‫است‬ ‫ساده‬ ‫بسیار‬ ‫نیز‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫که‬ ‫بسازید‬ ‫ای‬ ‫پیمانه‬ ‫ی‬ ‫داده‬ ‫ساختمان‬ ‫یک‬ ‫توانستید‬ ‫کاربردی‬ ‫ی‬ ‫ساده‬ ‫مثال‬ ‫این‬ ‫طریق‬ ‫از‬ ‫شما‬ : ‫منطق‬ ‫معرفی‬ ‫بسسه‬ ‫ها‬ ‫کلس‬ ‫از‬ ‫تر‬ ‫جدی‬ ‫صورت‬ ‫به‬ ‫میخواهیم‬ ‫اینجا‬ ‫در‬ ‫اما‬ ‫اید‬ ‫شده‬ ‫آشنا‬ ‫اشیاء‬ ‫و‬ ‫ها‬ ‫کلس‬ ‫مفاهیم‬ ‫ترین‬ ‫اساسی‬ ‫با‬ ‫شما‬ ‫تاکنون‬ !!! ‫خوب‬ ‫بسیار‬ ‫و‬ ‫سسازی‬‫س‬ ‫سساده‬‫ی‬‫پ‬ ‫سسه‬‫ب‬ ‫بخواهیم‬ ‫اگر‬ ‫اما‬ ‫هستند‬ ‫عالی‬ ‫و‬ ‫خوب‬ ‫همگی‬ ‫اینها‬ .‫کنیم‬ ‫استفاده‬ ‫متغییرها‬ ‫برای‬ ‫هایی‬ ‫ظرف‬ ‫یا‬ ‫و‬ ‫ها‬ ‫داده‬ ‫ساختمان‬ ‫عنوان‬
  • 4. ‫کار‬ ‫این‬ ‫برای‬ ‫کنیم.ما‬ ‫حاکم‬ ‫ها‬ ‫کلس‬ ‫و‬ ‫اشیاء‬ ‫روی‬ ‫بر‬ ‫را‬ ‫کلی‬ ‫منطقی‬ ‫بتوانیم‬ ‫که‬ ‫داریم‬ ‫احتیاج‬ ‫راهی‬ ‫به‬ ، ‫بپردازیم‬ ‫تری‬ ‫پیچیده‬ ‫وظایف‬ ‫اجرای‬ .‫میکنیم‬ ‫استفاده‬ ‫متدها‬ ‫از‬ ‫اسسست‬ ‫تابع‬ ‫یک‬ ‫تعریف‬ ‫مشابه‬ ‫دقیقا‬ ‫متدها‬ ‫این‬ ‫تعریف‬ ‫ی‬ ‫میگیرند.شیوه‬ ‫قرار‬ ‫ها‬ ‫کلس‬ ‫درون‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫هستند‬ ‫توابع‬ ‫همان‬ ‫متدها‬ ‫اساسا‬ ‫را‬ ‫سسدی‬‫ت‬‫م‬ ‫سسد‬‫ی‬‫بخواه‬ ‫سسما‬‫ش‬ ‫سساه‬‫گ‬‫هر‬ .‫سسند‬‫ش‬‫با‬ ‫کلس‬ ‫یک‬ ‫به‬ ‫متعلق‬ ‫واقع‬ ‫در‬ ‫و‬ ‫شوند‬ ‫تعریف‬ ‫کلس‬ ‫یک‬ ‫درون‬ ‫باید‬ ‫که‬ ‫جاست‬ ‫این‬ ‫آن‬ ‫فرق‬ ‫البته‬ ‫که‬ ‫متغییرهسسا‬ ‫بسسه‬ ‫دسترسی‬ ‫برای‬ ‫قبل‬ ‫که‬ ‫حالتی‬ ‫مشابه‬ ‫دقیقا‬ .‫کنید‬ ‫رجوع‬ ‫موردنظر‬ ‫کلس‬ ‫از‬ ‫شیئ‬ ‫یک‬ ‫به‬ ‫ابتدا‬ ‫که‬ ‫هستید‬ ‫مجبور‬ ‫کنید‬ ‫فراخوانی‬ .‫کردیم‬ ‫بیان‬ ‫کلس‬ ‫سسان‬‫م‬‫ه‬ ‫سسورد‬‫م‬ ‫در‬ ‫سساه‬‫ت‬‫کو‬ ‫سسال‬‫ث‬‫م‬ ‫یک‬ ‫قضیه‬ ‫این‬ ‫شرح‬ ‫برای‬ ‫من‬pet‫سسام‬‫ن‬ ‫سسه‬‫ب‬ ‫کلس‬ ‫سسک‬‫ی‬ ‫سسد‬‫ی‬‫سسم.بیای‬‫ن‬‫میز‬sleep‫سسن‬‫ی‬‫اول‬ ‫در‬ ‫سسه‬‫ک‬ ‫سسازیم‬‫س‬‫ب‬ ‫لغت‬ ، ‫توابع‬ ‫تعریف‬ ‫ی‬ ‫شیوه‬ ‫همانند‬ .‫میکند‬ ‫چاپ‬ ‫خروجی‬ ‫در‬ ‫را‬ ‫پیغام‬ ‫یک‬ ‫اش‬ ‫فراخوانی‬def‫سسام‬‫ن‬ ‫آن‬ ‫سسال‬‫ب‬‫دن‬ ‫سسه‬‫ب‬ ‫سسپس‬‫س‬ .‫مینویسم‬ ‫ابتدا‬ ‫در‬ ‫را‬ ‫و‬ ‫نویسیم‬ ‫می‬ ‫را‬ ‫کالن‬ ‫علمت‬ ‫هم‬ ‫آخر‬ ‫در‬ ‫و‬ ‫میدهیم‬ ‫قرار‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫پرانتز‬ ‫جفت‬ ‫یک‬ ‫ادامه‬ ‫داریم.در‬ ‫را‬ ‫آن‬ ‫ساخت‬ ‫قصد‬ ‫که‬ ‫آوریم‬ ‫می‬ ‫را‬ ‫متدی‬ .‫میکنیم‬ ‫شروع‬ ‫را‬ ‫جدیدی‬ ‫خط‬ ، ‫بعدی‬ ‫سطر‬ ‫به‬ ‫رفتن‬ ‫با‬ .‫بیاید‬ ‫بالیی‬ ‫سطح‬ ‫به‬ ‫نسبت‬ ‫دار‬ ‫دندانه‬ ‫صورت‬ ‫به‬ ‫باید‬ ‫حتما‬ ‫گیرد‬ ‫قرار‬ ‫متد‬ ‫درون‬ ‫است‬ ‫قرار‬ ‫که‬ ‫چیزی‬ ‫هر‬ ‫معمول‬ ‫مطابق‬ ‫نام‬ ‫به‬ ‫آرگومان‬ ‫یک‬ ‫باید‬ ‫همیشه‬ ، ‫ی‬ ‫همیشه‬ ، ‫ی‬ ‫همیشه‬ ‫متد‬ : ‫شود‬ ‫می‬ ‫آشکار‬ ‫تابع‬ ‫و‬ ‫متد‬ ‫دیگر‬ ‫تفاوت‬ ‫اینجا‬ ‫در‬self‫داشته‬ ‫پرانتز‬ ‫دو‬ ‫مابین‬ ‫سسد‬‫ت‬‫م‬ ‫سسه‬‫ب‬ ‫سسان‬‫م‬‫آرگو‬ ‫سسن‬‫ی‬‫اول‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫فعلی‬ ‫شیئ‬ ‫که‬ ‫است‬ ‫این‬ ‫افتد‬ ‫می‬ ‫که‬ ‫اتفاقی‬ ، ‫میکند‬ ‫فراخوانی‬ ‫را‬ ‫متد‬ ‫پایتون‬ ‫که‬ ‫باشد.هنگامی‬sleep ).‫میکند‬ ‫ارسال‬‫میدهد‬ ‫پاس‬( ‫سسام‬‫ن‬ ‫سسا‬‫ب‬ ‫سسانی‬‫م‬‫آرگو‬ ‫سسه‬‫ش‬‫همی‬ ‫سسد‬‫ت‬‫م‬ ‫یک‬ ‫به‬ ‫که‬ ‫است‬ ‫نکته‬ ‫این‬ ‫به‬ ‫توجه‬ ‫بدانید‬ ‫الن‬ ‫است‬ ‫لزم‬ ‫که‬ ‫آنچه‬ ‫اما‬ ‫فهمید‬ ‫خواهید‬ ‫بعدا‬ ‫را‬ ‫مطلب‬ ‫این‬ ‫دلیل‬ self).‫شود‬ ‫می‬ ‫الصاق‬ ‫آرگومان‬ ‫اولین‬ ‫عنوان‬ ‫به‬‫سسری‬‫گ‬‫دی‬ ‫از‬ ‫سسس‬‫پ‬ ‫سسی‬‫ک‬‫ی‬ ‫را‬ ‫سسا‬‫ه‬‫آن‬ ‫سسد‬‫ی‬‫میتوان‬ ‫سسد‬‫ی‬‫کن‬ ‫اضافه‬ ‫بیشتری‬ ‫های‬ ‫آرگومان‬ ‫که‬ ‫بخواهید‬ ‫اگر‬ ‫است‬ ‫چندگانه‬ ‫های‬ ‫آرگومان‬ ‫دارای‬ ‫توابع‬ ‫مشابه‬ ‫دقیقا‬ ‫کار‬ ‫این‬ ‫و‬ ‫بیاورید‬‫یسسک‬ ‫برنسسامه‬ ‫اجرای‬ ‫زمان‬ ‫در‬ ، ‫نکنید‬ ‫الصاق‬ ‫را‬ ‫آرگومان‬ ‫این‬ ‫شما‬ ‫اگر‬ .( )‫میدهد‬ ‫پاس‬ ‫متد‬ ‫به‬ ‫را‬ ‫کنونی‬ ‫شیئ‬ ‫پایتون‬ ‫که‬ ‫است‬ ‫این‬ ‫دلیل‬ .‫کرد‬ ‫خواهید‬ ‫دریافت‬ ‫خطا‬‫آرگومان‬self“ :‫میدهد‬ ‫پاسخ‬ ‫متد‬ ‫و‬ (!!!‫آقسسا‬ ‫آهای‬ !‫میکنی؟‬ ‫چیکار‬ ‫داری‬ ‫که‬ ‫میدونی‬ ‫بگیرم.اصل‬ ‫تحویل‬ ‫شما‬ ‫از‬ ‫را‬ ‫آرگومانی‬ ‫هیچ‬ ‫نیست‬ ‫قرار‬ ‫من‬‫بخواهید‬ ‫که‬ ‫است‬ ‫حالتی‬ ‫مشابه‬ ‫دقیقا‬ ‫هم‬ ‫این‬ .“ .‫پذیرد‬ ‫نمی‬ ‫آرگومانی‬ ‫هیچ‬ ‫که‬ ‫دهید‬ ‫پاس‬ ‫تابعی‬ ‫به‬ ‫را‬ ‫آرگومانی‬ :‫ببنید‬ ‫میتوانید‬ ‫ایم‬ ‫داده‬ ‫انجام‬ ‫تاکنون‬ ‫که‬ ‫را‬ ‫آنچه‬ ‫هر‬ ‫اینجا‬ ‫در‬ class pet: number_of_legs = 0 def sleep(self): doug = pet() ‫عبارت‬print: ‫مینویسیم‬ ‫متد‬ ‫ی‬ ‫بدنه‬ ‫داخل‬ ‫اینگونه‬ ‫را‬ class pet: number_of_legs = 0 def sleep(self): print "zzz" doug = pet() ‫کلس‬ ‫ی‬ ‫نمونه‬ ‫یک‬ ‫طریق‬ ‫از‬ ‫آسانی‬ ‫به‬ ‫توانیم‬ ‫می‬ ، ‫کنیم‬ ‫استفاده‬ ‫متد‬ ‫این‬ ‫از‬ ‫بخواهیم‬ ‫اگر‬ ‫حال‬pet‫سسابه‬‫ش‬‫م‬ .‫سسیم‬‫ش‬‫با‬ ‫سسته‬‫ش‬‫دا‬ ‫سسی‬‫س‬‫دستر‬ ‫آن‬ ‫به‬ ‫متغییر‬ ‫با‬ ‫که‬ ‫کاری‬number_of_edge) ‫نویسیم‬ ‫می‬ ‫را‬ ‫نمونه‬ ‫نام‬ ‫ابتدا‬ ، ‫دادیم‬ ‫انجام‬‫اینجا‬ ‫در‬doug‫متسسد‬ ‫نام‬ ‫آخر‬ ‫در‬ ‫و‬ ( . ) ‫نقطه‬ ‫سپس‬ ، ( ‫متد‬ ‫ما‬ ‫است‬ ‫درست‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫آن.توجه‬ ‫پرانتزهای‬ ‫همراه‬ ‫به‬sleep‫سسورت‬‫ص‬ ‫سسه‬‫ب‬ ‫سسایتون‬‫پ‬ ‫سسا‬‫م‬‫ا‬ ‫سسم‬‫ی‬‫میکن‬ ‫فراخوانی‬ ‫آرگومانی‬ ‫هیچ‬ ‫بدون‬ ‫را‬ ‫آرگومان‬ ‫با‬ ‫را‬ ‫پرانتز‬ ‫داخل‬ ‫خودکار‬self.‫میکند‬ ‫پر‬
  • 5. class pet: number_of_legs = 0 def sleep(self): print "zzz" doug = pet() doug.sleep() ‫پیغام‬ ‫میتوانید‬ ‫کنید‬ ‫اجرا‬ ‫را‬ ‫کد‬ ‫اگر‬zzz.‫کنید‬ ‫مشاهده‬ ‫خروجی‬ ‫ی‬ ‫صفحه‬ ‫در‬ ‫را‬ : ‫ها‬ ‫داده‬ ‫سسق‬‫ی‬‫طر‬ ‫از‬ ‫سسوانیم‬‫ت‬‫می‬ ‫سسور‬‫ط‬‫چ‬ ‫که‬ ‫آموزد‬ ‫می‬ ‫ما‬ ‫به‬ ‫متد‬ ‫دهد؟این‬ ‫نشان‬ ‫را‬ ‫خانگی‬ ‫حیوان‬ ‫پاهای‬ ‫تعداد‬ ‫که‬ ‫بنویسیم‬ ‫را‬ ‫جدیدی‬ ‫متد‬ ‫چیست‬ ‫نظرتان‬ ‫درون‬ ‫های‬ ‫داده‬ ‫دستکاری‬ ‫به‬ ‫متدها‬class‫سسان‬‫م‬‫آرگو‬ ‫آن‬ ‫از‬ ‫سستفاده‬‫س‬‫ا‬ ‫سسه‬‫ب‬ ‫سسزم‬‫ل‬‫م‬ ‫سسا‬‫م‬ ‫سسرا‬‫چ‬ ‫سسه‬‫ک‬ ‫میدهد‬ ‫نشان‬ ‫بپردازیم.همچنین‬self‫سسذایی‬‫ک‬ ‫نام‬ ‫با‬ ‫را‬ ‫جدیدمان‬ ‫متد‬ ‫هستیم.بیایید‬count_legs.‫بسازیم‬ ‫آرگومان‬ ‫که‬ ‫اینجاست‬self‫سسر‬‫ی‬‫متغی‬ ‫از‬ ‫سستیم‬‫س‬‫میخوا‬ ‫سسه‬‫ک‬ ‫سستی‬‫ق‬‫و‬ ‫سسد‬‫ی‬‫دار‬ ‫سساد‬‫ی‬ ‫به‬ .‫شود‬ ‫می‬ ‫عمل‬ ‫وارد‬number_of_legs‫کلس‬ ‫از‬ ‫سسارج‬‫خ‬ ‫در‬ ‫نوشتن‬ ‫جای‬ ‫به‬ ‫بودیم‬ ‫مجبور‬ ، ‫کنیم‬ ‫استفاده‬number_of_lengs‫بنویسیم‬ ،doug.number_of_legs‫ما‬ ‫که‬ ‫است‬ ‫این‬ ‫کاربردی‬ ‫؟جواب‬ .‫کنیم‬ ‫اقدام‬ ‫کلس‬ ‫آن‬ ‫ی‬ ‫شده‬ ‫ساخته‬ ‫ی‬ ‫نمونه‬ ‫طریق‬ ‫از‬ ، ‫کلس‬ ‫از‬ ‫متغیر‬ ‫یک‬ ‫محتویات‬ ‫از‬ ‫استفاده‬ ‫برای‬ ‫مجبوریم‬ ) ‫شود‬ ‫می‬ ‫استفاده‬ ‫ها‬ ‫نمونه‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫توسط‬ ‫اجزا‬ ‫این‬ ‫که‬ ‫نمیدانیم‬ ‫کلس‬ ‫نوشتن‬ ‫هنگام‬ ‫در‬ ‫ما‬ ‫بهرحال‬‫زیادی‬ ‫های‬ ‫نمونه‬ ‫است‬ ‫ممکن‬ ‫چون‬ ‫باشد‬ ‫موجود‬ ‫برنامه‬ ‫در‬ ‫کلس‬ ‫یک‬ ‫از‬‫متغییر‬ ‫از‬ ‫مشکل‬ ‫این‬ ‫حل‬ ‫برای‬ ‫بنابراین‬ .(self.‫میکنیم‬ ‫استفاده‬Self‫سسست‬ ‫شسسیئی‬ ‫به‬ ‫ارجاع‬ ‫یک‬ ‫تنها‬ ‫سست‬‫غ‬‫ل‬ ‫از‬ ‫سسانی‬‫س‬‫آ‬ ‫به‬ ‫میتوانید‬ ‫شما‬ ‫کنونی‬ ‫کلس‬ ‫متغییر‬ ‫به‬ ‫دسترسی‬ ‫برای‬ ‫هستیم.پس‬ ‫آن‬ ‫روی‬ ‫بر‬ ‫کار‬ ‫مشغول‬ ‫حاضر‬ ‫حال‬ ‫در‬ ‫که‬self‫سسک‬‫ی‬ ‫و‬ .‫کنید‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫بعد‬ ‫نقطه‬ : ‫زیر‬ ‫مثال‬ ‫مانند‬ class pet: number_of_legs = 0 def sleep(self): print "zzz" def count_legs(self): print "I have %s legs" % self.number_of_legs doug = pet() doug.number_of_legs = 4 doug.count_legs() ‫کاربرد‬ ‫مثال‬ ‫این‬ ‫در‬self‫سسا‬‫ب‬ ‫سسونه‬‫م‬‫ن‬ ‫نام‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ، ‫میکنید‬ ‫متد‬ ‫اجرای‬ ‫به‬ ‫قدام‬ ‫شما‬ ‫وقتی‬ ‫که‬ ‫است‬ ‫این‬ ‫متد‬ ‫داخل‬self‫جسسایگزین‬ ‫که‬ ‫هنگامی‬ ‫شود.بنابراین‬ ‫می‬()doug.count_legs، ‫میکنیم‬ ‫فراخوانی‬ ‫را‬self‫با‬doug‫فراینسسد‬ ‫ایسسن‬ ‫اینکه‬ ‫شرح‬ ‫میشود.برای‬ ‫جایگزین‬ ‫کلس‬ ‫از‬ ‫دیگری‬ ‫ی‬ ‫نمونه‬ ، ‫میکند‬ ‫کار‬ ‫چگونه‬ ‫ای‬ ‫نمونه‬ ‫چند‬ ‫حالت‬ ‫در‬pet‫نام‬ ‫به‬nemo.‫میکنیم‬ ‫اضافه‬ ‫برنامه‬ ‫به‬ ‫را‬ class pet: number_of_legs = 0 def sleep(self): print "zzz"
  • 6. def count_legs(self): print "I have %s legs" % self.number_of_legs doug = pet() doug.number_of_legs = 4 doug.count_legs() nemo = pet() nemo.number_of_legs = 0 nemo.count_legs() ‫خروجی‬ ‫پیغام‬ ‫ابتدا‬ ‫برنامه‬ ‫این‬۴‫سپس‬ ‫و‬۰.‫میکند‬ ‫چاپ‬ ‫را‬ ‫مرجع‬ ‫چون‬ ‫است‬ ‫شده‬ ‫نوشته‬ ‫دار‬ ‫دندانه‬ ‫صورت‬ ‫به‬ ‫کامل‬ ‫متد‬ ، ‫روش‬ ‫این‬ ‫در‬self‫سسته‬‫ش‬‫نو‬ ‫سسن‬‫ت‬‫م‬ ‫به‬ ‫کامل‬ ‫و‬ ‫میکند‬ ‫تغییر‬ ‫داینامیکی‬ ‫صورت‬ ‫به‬ .‫کنیم‬ ‫دستکاری‬ ‫را‬ ‫فعلی‬ ‫شیئ‬ ‫درون‬ ‫متغییرهای‬ ‫که‬ ‫دهد‬ ‫می‬ ‫اجازه‬ ‫ما‬ ‫به‬ ‫تنها‬ ‫و‬ ‫است‬ ‫وابسته‬ ‫شده‬ ‫بجز‬ ‫اسمی‬ ‫هر‬ ‫متدهایتان‬ ‫برای‬ ‫میتوانید‬ ‫شما‬ : ‫نکته‬ ‫یک‬ ‫فقط‬self.‫کنید‬ ‫انتخاب‬ ‫ی‬ ‫کلمه‬ ‫از‬ ‫استفاده‬self‫هرچسسه‬ ، ‫مختلف‬ ‫افراد‬ ‫توسط‬ ‫شده‬ ‫نوشته‬ ‫کدهای‬ ‫میشود‬ ‫باعث‬ ‫که‬ ‫است‬ ‫پایتون‬ ‫نویسان‬ ‫برنامه‬ ‫بین‬ ‫ساده‬ ‫توافق‬ ‫یک‬ .‫بمانید‬ ‫پایبند‬ ‫ها‬ ‫توافق‬ ‫به‬ ‫که‬ ‫است‬ ‫این‬ ‫من‬ ‫شود.نصیحت‬ ‫فهم‬ ‫قابل‬ ‫و‬ ‫استاندارد‬ ‫بیشتر‬ : ‫پیشرفته‬ ‫ویژگی‬ ‫چند‬ ‫سسونه‬‫گ‬‫چ‬ ‫سسا‬‫ه‬‫آن‬ ‫سسه‬‫ک‬ ‫سسبینیم‬‫ب‬ ‫و‬ ‫سسدازیم‬‫ن‬‫بیا‬ ‫ها‬ ‫کلس‬ ‫ی‬ ‫پیشرفته‬ ‫های‬ ‫ویژگی‬ ‫به‬ ‫نگاهی‬ ‫که‬ ‫ایم‬ ‫آماده‬ ‫و‬ ‫ایم‬ ‫گذاشته‬ ‫سر‬ ‫پشت‬ ‫را‬ ‫مقدمات‬ ‫اکنون‬ ‫ما‬ .‫کنند‬ ‫کمک‬ ‫ما‬ ‫به‬ ‫یافته‬ ‫ساخت‬ ‫های‬ ‫برنامه‬ ‫طراحی‬ ‫سازی‬ ‫ساده‬ ‫در‬ ‫توانند‬ ‫می‬ ‫کنیم‬ ‫صحبت‬ ‫آن‬ ‫مورد‬ ‫در‬ ‫میخواهم‬ ‫که‬ ‫بعدی‬ ‫مطلب‬"‫بری‬ ‫ارث‬‫سسایه‬‫پ‬ ‫کلس‬ ‫سسک‬‫ی‬ ‫ی‬ ‫سسایه‬‫پ‬ ‫سسر‬‫ب‬ ‫کلس‬ ‫یک‬ ‫ساخت‬ ‫فرایند‬ ‫به‬ ‫بری‬ ‫است.ارث‬ ” .‫دهد‬ ‫می‬ ‫را‬ ‫والد‬ ‫مشخصات‬ ‫و‬ ‫ها‬ ‫ویژگی‬ ‫بردن‬ ‫ارث‬ ‫به‬ ‫ی‬ ‫اجازه‬ ‫جدید‬ ‫کلس‬ ‫به‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ).‫باشد‬ ‫داشته‬ ‫را‬ ‫والد‬ ‫متغییرهای‬ ‫و‬ ‫متدها‬ ‫تمامی‬ ‫میتواند‬ ‫جدید‬ ‫کلس‬‫شود‬ ‫می‬ ‫گفته‬ ‫-پایه-هم‬ ‫والد‬ ‫کلس‬ ‫به‬ ‫گاهی‬.( ‫کلس‬ ‫باشد.اگر‬ ‫مفید‬ ‫تواند‬ ‫می‬ ‫حد‬ ‫چه‬ ‫تا‬ ‫تکنیک‬ ‫این‬ ‫که‬ ‫ببینیم‬ ‫تا‬ ‫دهیم‬ ‫گسترش‬ ‫را‬ ‫خود‬ ‫خانگی‬ ‫حیوانات‬ ‫مثال‬ ‫بیایید‬pet‫سسد‬‫ل‬‫وا‬ ‫عنوان‬ ‫به‬ ‫را‬ ‫از‬ ‫بتواند‬ ‫که‬ ‫بسازیم‬ ‫آن‬ ‫ی‬ ‫پایه‬ ‫بر‬ ‫را‬ ‫فرزندی‬ ‫کلس‬ ‫میتوانیم‬ ، ‫بگیریم‬ ‫نظر‬ ‫در‬pet.‫کند‬ ‫بری‬ ‫ارث‬ )‫باشد‬ ‫ماهی‬ ‫یا‬ ‫و‬ ‫سگ‬ ‫مثل‬ ‫هرچیزی‬ ‫میتواند‬ ‫فرزند‬ ‫کلس‬‫سسان‬‫م‬‫ه‬ ‫سسد‬‫ن‬‫توا‬ ‫سسی‬‫م‬ ‫سسد‬‫ن‬‫فرز‬ ‫کلس‬ ‫گاهی‬pet‫سسای‬‫ه‬ ‫سسی‬‫گ‬‫ویژ‬ ‫دارای‬ ‫سسا‬‫م‬‫ا‬ ‫سسد‬‫ن‬‫بما‬ ‫سساقی‬‫ب‬ ‫باشد‬ ‫خود‬ ‫مخصوص‬.( ).‫سسد‬‫ه‬‫د‬ ‫سسام‬‫ج‬‫ان‬ ‫را‬ ‫میدهد‬ ‫انجام‬ ‫خانگی‬ ‫حیوان‬ ‫یک‬ ‫که‬ ‫را‬ ‫آنچه‬ ‫تمام‬ ‫میتواند‬ ‫و‬ ‫است‬ ‫خانگی‬ ‫حیوان‬ ‫سگ‬ ‫یک‬، ‫سسورد‬‫خ‬‫می‬ ‫سسگ‬‫س‬ ‫سسال‬‫ث‬‫م‬ ‫سسرض‬‫ف‬ ‫سسه‬‫ب‬ ‫دارد‬ ‫پا‬ ‫و‬ ‫دست‬ ‫تعدادی‬ ‫و‬ ‫خوابد‬ ‫می‬.‫است‬ ‫کرده‬ ‫سگ‬ ‫یک‬ ‫را‬ ‫او‬ ‫که‬ ‫دارد‬ ‫نیز‬ ‫فردی‬ ‫به‬ ‫منحصر‬ ‫های‬ ‫ویژگی‬ ‫اما‬ ( ‫سسانگی‬‫خ‬ ‫سسات‬‫ن‬‫حیوا‬ ‫ی‬ ‫همه‬ ‫اما‬ ‫بردارد‬ ‫را‬ ‫چوبی‬ ‫تکه‬ ‫است‬ ‫ممکن‬ ‫سگ‬ .‫ندارند‬ ‫را‬ ‫ویژگی‬ ‫این‬ ‫خانگی‬ ‫حیوانات‬ ‫ی‬ ‫همه‬ ‫که‬ ‫حالی‬ ‫در‬ ‫؛‬ ‫دارد‬ ‫مو‬ ‫سگ‬ .‫نیستند‬ ‫کار‬ ‫این‬ ‫به‬ ‫قادر‬ .‫بگذارد‬ ‫نمایش‬ ‫به‬ ‫را‬ ‫سگ‬ ‫یک‬ ‫رفتار‬ ‫که‬ ‫کنیم‬ ‫ایجاد‬ ‫مان‬ ‫برنامه‬ ‫درون‬ ‫کلسی‬ ‫میخواهیم‬ ‫که‬ ‫بازگردیم.گفتیم‬ ‫مطلب‬ ‫اصل‬ ‫به‬ ‫خب‬ ‫متغییرهسسای‬ ‫و‬ ‫متسسدها‬ ‫بسسری‬ ‫ارث‬ ‫از‬ ‫اسسستفاده‬ ‫بسسا‬ ‫میتسسوان‬pet‫کلس‬ ‫داد.بنسسابراین‬ ‫ارث‬ ‫جدیسسد‬ ‫کلس‬ ‫بسسه‬ ‫را‬doug‫متغییسسر‬ ‫توانسسد‬ ‫مسسی‬ number_of_legs‫متد‬ ‫و‬sleep.‫باشد‬ ‫داشته‬ ‫را‬ ‫کلس‬ ‫در‬ ‫متغییرها‬ ‫و‬ ‫متدها‬ ‫این‬ ‫نوشتن‬ ‫بدون‬ ‫ما‬ ‫چگونه‬ ‫که‬ ‫کنید‬ ‫تعجب‬ ‫شما‬ ‫شاید‬dog‫از‬ ‫کامل‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آنها‬pet‫میگیریم؟‬
  • 7. ‫بری‬ ‫ارث‬۲:‫میدهد‬ ‫قرار‬ ‫ما‬ ‫اختیار‬ ‫در‬ ‫را‬ ‫منحصربفرد‬ ‫ویژگی‬ ‫یک‬‫نوع‬ ‫از‬ ‫را‬ ‫شیئی‬ ‫بخواهیم‬ ‫اگر‬ :pet.‫داد‬ ‫انجام‬ ‫را‬ ‫کار‬ ‫این‬ ‫میتوان‬ ، ‫نباشد‬ ‫سگ‬ ‫که‬ ‫صورتی‬ ‫به‬ ‫بسازیم‬ ‫دو‬)‫کنیم‬ ‫اضافه‬ ‫را‬ ‫خانگی‬ ‫حیوانات‬ ‫از‬ ‫دیگری‬ ‫نوع‬ ‫بخواهیم‬ ‫شاید‬ :‫ماهی‬ ‫یک‬ ‫مثل‬‫از‬ ‫بری‬ ‫ارث‬ ‫با‬ ‫نیز‬ ‫را‬ ‫دوم‬ ‫کلس‬ ‫این‬ ‫میتوانیم‬ ‫(ما‬pet‫سسساد‬‫ج‬‫ای‬ ‫متغییرهای‬ ‫و‬ ‫متدها‬ ‫توانند‬ ‫می‬ ‫جدید‬ ‫های‬ ‫کلس‬ ‫این‬ ‫دوی‬ ‫کنیم.هر‬pet‫ویژگسسی‬ ‫زمان‬ ‫همان‬ ‫در‬ ‫توانند‬ ‫می‬ ‫همچنین‬ ‫و‬ ‫بگذارند‬ ‫اشتراگ‬ ‫به‬ ‫را‬ ‫سسل‬‫ب‬‫قا‬ ‫سسوند‬‫ش‬ ‫سسی‬‫م‬ ‫سساخته‬‫س‬ ‫سسان‬‫ش‬‫خود‬ ‫از‬ ‫سسه‬‫ک‬ ‫سسیایی‬‫ش‬‫ا‬ ‫برای‬ ‫فقط‬ ‫که‬ ‫متغییرهایی‬ ‫و‬ ‫متدها‬ ‫باشند.یعنی‬ ‫داشته‬ ‫نیز‬ ‫را‬ ‫خود‬ ‫اضافی‬ ‫و‬ ‫بفرد‬ ‫منحصر‬ .‫اند‬ ‫دستیابی‬ ‫سسم‬‫س‬‫ا‬ ‫سسه‬‫ب‬ ‫سسدی‬‫ی‬‫جد‬ ‫کلس‬ ‫سسدا‬‫ت‬‫اب‬ ‫سسود.در‬‫ش‬ ‫تر‬ ‫روشن‬ ‫ماجرا‬ ‫که‬ ‫بنویسیم‬ ‫چیزهایی‬ ‫دهید‬ ‫اجازه‬ ‫شویم.پس‬ ‫قضیه‬ ‫وارد‬ ‫تر‬ ‫عمیق‬ ‫کمی‬ ‫بیایید‬dog ‫ارث‬ ‫آن‬ ‫از‬ ‫باید‬ ‫که‬ ‫کلسی‬ ‫نام‬ ‫و‬ ‫دهیم‬ ‫می‬ ‫قرار‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫پرانتز‬ ‫جفت‬ ‫یک‬ ‫کالن‬ ‫علمت‬ ‫و‬ ‫کلس‬ ‫نام‬ ‫بین‬ ‫بار‬ ‫این‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫.با‬ ‫نویسیم‬ ‫می‬ .‫میدهیم‬ ‫پاس‬ ‫آن‬ ‫به‬ ‫آرگومان‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫والد‬ ‫کلس‬ ‫نام‬ ، ‫توابع‬ ‫همانند‬ ‫نویسیم.یعنی‬ ‫می‬ ‫دو‬ ‫آن‬ ‫بین‬ ‫را‬ ‫کنیم‬ ‫بری‬ ‫متد‬ ‫دهد.من‬ ‫شرح‬ ‫برایمان‬ ‫را‬ ‫فرایند‬ ‫این‬ ‫کار‬ ‫طرز‬ ‫تا‬ ‫کنیم‬ ‫می‬ ‫اضافه‬ ‫کلس‬ ‫این‬ ‫به‬ ‫را‬ ‫ای‬ ‫ساده‬ ‫متد‬ ‫ادامه‬ ‫در‬bark‫سسارت‬‫ب‬‫ع‬ ‫سسا‬‫ت‬ ‫سسم‬‫س‬‫نوی‬ ‫سسی‬‫م‬ ‫را‬ woooof.‫کند‬ ‫چاپ‬ ‫را‬ class pet: number_of_legs = 0 def sleep(self): print "zzz" def count_legs(self): print "I have %s legs" % self.number_of_legs class dog(pet): def bark(self): print "Wooooof" ‫ی‬ ‫سسونه‬‫م‬‫ن‬ ‫از‬ ‫سستفاده‬‫س‬‫ا‬ ‫با‬ ‫دوباره‬ !.‫افتد‬ ‫می‬ ‫اتفاقی‬ ‫چه‬ ‫کلس‬ ‫این‬ ‫از‬ ‫جدید‬ ‫ی‬ ‫نمونه‬ ‫یک‬ ‫ساخت‬ ‫با‬ ‫الن‬ ‫ببینیم‬ ‫بیایید‬doug‫کلس‬ ‫سسه‬‫ب‬ ‫سسه‬‫ک‬dog ‫میکنیم‬ ‫فراخوانی‬ ‫اینگونه‬ ‫را‬ ‫جدید‬ ‫متد‬ ،‫میکند‬ ‫اشاره‬:()doug.bark class pet: number_of_legs = 0 def sleep(self): print "zzz" def count_legs(self): print "I have %s legs" % self.number_of_legs class dog(pet): def bark(self): print "Woof" doug = dog() doug.bark() .‫ایم‬ ‫ساخته‬ ‫آن‬ ‫درون‬ ‫متد‬ ‫یک‬ ‫همراه‬ ‫به‬ ‫کلس‬ ‫یک‬ ‫اینکه‬ ‫بجز‬ ‫ایم‬ ‫نداده‬ ‫انجام‬ ‫جدیدی‬ ‫کار‬ ‫هنوز‬ ‫اما‬ ‫ایم‬ ‫رفته‬ ‫پیش‬ ‫عالی‬ ‫بسیار‬ ‫کار‬ ‫اینجای‬ ‫تا‬ ‫کلس‬ ‫دسترس‬ ‫در‬ ‫متغییرهای‬ ‫و‬ ‫متدها‬ ‫تمام‬ ‫که‬ ‫است‬ ‫این‬ ‫میدهد‬ ‫انجام‬ ‫ما‬ ‫برای‬ ‫بری‬ ‫ارث‬ ‫که‬ ‫کاری‬pet‫شیئ‬ ‫وارد‬ ‫را‬dog‫بنسسابر‬ ‫میکند.پس‬ : ‫بنویسم‬ ‫اینگونه‬ ‫توانم‬ ‫می‬ ‫ها‬ ‫گفته‬ ‫این‬
  • 8. class pet: number_of_legs = 0 def sleep(self): print "zzz" def count_legs(self): print "I have %s legs" % self.number_of_legs class dog(pet): def bark(self): print "Woof" doug = dog() doug.sleep() ‫متد‬ ‫مراحل‬ ‫این‬ ‫از‬ ‫پس‬sleep‫شیئ‬ ‫حقیقت‬ ‫در‬ . ‫شود‬ ‫می‬ ‫اجرا‬ ‫درستی‬ ‫به‬doug‫کلس‬ ‫هردو‬ ‫به‬pet‫و‬dog‫از‬ ‫سسان‬‫ن‬‫اطمی‬ ‫سسرای‬‫ب‬.‫دارد‬ ‫سسق‬‫ل‬‫تع‬ :‫میکنیم‬ ‫امتحان‬ ‫را‬ ‫کدها‬ ‫این‬ ‫اند‬ ‫رسیده‬ ‫ارث‬ ‫به‬ ‫متدها‬ ‫مانند‬ ‫هم‬ ‫متغییرها‬ ‫اینکه‬ class pet: number_of_legs = 0 def sleep(self): print "zzz" def count_legs(self): print "I have %s legs" % self.number_of_legs class dog(pet): def bark(self): print "Woof" doug = dog() doug.number_of_legs = 4 doug.count_legs() ‫که‬ ‫ببینید‬ ‫توانید‬ ‫می‬doug‫سسد.کلس‬‫ن‬‫ا‬ ‫سسده‬‫ش‬ ‫سسرده‬‫ب‬ ‫ارث‬ ‫سسه‬‫ب‬ ‫درستی‬ ‫به‬ ‫متغییرها‬ ‫که‬ ‫است‬ ‫معنی‬ ‫بدان‬ ‫این‬ ‫و‬ ‫میکند‬ ‫کار‬ ‫درستی‬ ‫به‬ ‫سابق‬ ‫مانند‬ ‫سسایش‬‫م‬‫ن‬ ‫سسه‬‫ب‬ ‫را‬ ‫خود‬ ‫به‬ ‫مخصوص‬ ‫عملکرد‬ ‫چند‬ ‫که‬ ‫است‬ ‫خود‬ ‫والد‬ ‫از‬ ‫یافته‬ ‫تغییر‬ ‫و‬ ‫منحصربفرد‬ ، ‫ویژه‬ ‫ی‬ ‫نسخه‬ ‫یک‬ ‫ساختیم‬ ‫که‬ ‫جدیدی‬ ‫فرزند‬ .‫دارد‬ ‫خود‬ ‫با‬ ‫نیز‬ ‫را‬ ‫والد‬ ‫عملکردهای‬ ‫و‬ ‫ها‬ ‫حالت‬ ‫تمامی‬ ‫که‬ ‫حالی‬ ‫در‬ ، ‫میگذارد‬ ‫محمدکریمی‬ ‫بهنام‬ :‫تنظیم‬ ‫و‬ ‫ترجمه‬ ‫نوروز‬۹۳ : ‫منبع‬http://code.tutsplus.com/