آموزش پایتون Python قسمت شانزدهم

1395/2/4 پوریا جهانبخش 2625

سلام خدمت همه ی علاقه مندان به پایتون.

خوب اگر این آموزشها رو دنبال کرده باشین و قدری هم از قبل با پایتون آشنایی داشته باشین، قطعا میدونید که هنوز خیلی چیزارو یاد نگرفتید، مثل حلقه ی for یا دیکشنری ها یا دکوراتور ها و ... .
اما صبور باشین، پایتون یک زبان شئ گراست و شئ گرایی در پایتون قدرت خودش رو در کلاس ها نشون میده.
بعد از معرفی کلاس ها بقیه ی مطالب رو در کلاس ها یاد میگیریم که بیشتر از کلاس ها مثال زده باشیم.

وبسایت پایتون پیشنهاد میده نام توابع در پایتون با حروف کوچک لاتین شروع بشن، و اگر تابع شما چند کلمه ای بود، هر کلمه با علامت _ از کلمه ی بعد جدا بشه.
برای مثال:

function()
simple_function()

کلاس ها هم مثل توابع بعد از اسمشون بدون فاصله، پرانتز باز و بسته دارن، و همچنین پیشنهاد میشه اسم کلاس ها با حروف بزرگ لاتین شروع بشه و اگر اسم کلاس شما چند کلمه ای بود، هر کلمه اولین حرفش از حروف بزرگ لاتین باشه و بدون علامت _
مثل:

Worker()
SimpleWorker()


تابع رو که یاد گرفتیم (البته 80% )
خوب هر کلاس در واقع مجموعه ای از توابع هستش که هر کدوم وظیفه ی خاصی دارن و همشون به همدیگه برای رسیدن به یک هدف مشترک تلاش میکنن.

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

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

برای مثال:

class MyClassName:
      # class body

فعلا از متغیر ها در بدنه ی کلاس استفاده میکنیم

 

آموزش پایتون


شئ سازی:

زمانی که شما نام کلاس رو همراه با پرانتز هاش وارد میکنید، از اون کلاس یک شئ ساختید، شئ که میسازید تمام خصوصیاتی که در اون کلاس تعریف کردید رو به همراه داره:


 

آموزش پایتون


جواب بالا در واقع شئ ساخته ماست به همراه آدرس حافظش.
خوب برای این که بتونیم به متغیر هایی که داخل کلاسمون وارد کردیم دسترسی داشته باشیم، بهتره شئ که میسازیم رو به یک متغیر نسبت بدیم:

آموزش پایتون


برای دسترسی به متغیر هایی که در کلاس تعریف کردیم، کافیه بعد از متغیری که شئ رو درش ذخیره کردیم نقطه بذاریم و اسم متغیر رو بیاریم.

همچنین بدون این که شئ رو داخل متغیر بریزید هم میتونیم به متغیر هاش دسترسی داشته باشیم. فقط باید به یاد داشته باشید که بعد از اسم کلاس حتما پرانتز ها رو بذارید، و بعد از نقطه متغیر رو وارد کنید:

آموزش پایتون


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

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

آموزش پایتون


در قسمت آخر مثال، مقدار var رو برابر با مقدار var در یک شئ جدید به علاوه ی 3 قرار دادیم که گویای این مطلبه که شما میتونید هر چند تا شئ رو هرجا خواستید بسازید !
 

آموزش پایتون


توابع میتونن کلاس ها رو هم به عنوان آرگومان بپذیرن:

 

آموزش پایتون


همچنین توابع میتونن اشیا رو هم به عنوان آرگومان بپذیرن:

آموزش پایتون

همونطور که دیدید شئ دوم رو هنگام اجرای تابع ساختیم، این روشیه که میتونید برنامه هاتون رو سریع تر اجرا کنید، چون بیخودی یه متغیر ساخته نمیشه که بعد به تابع داده بشه !

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