حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش پایتون پروژه‌محور؛ قسمت سوم: شیءگرایی تا ساخت برنامه

کلاس و شیء در پایتون؛ آشنایی با self و __init__

کلاس و شیء در پایتون؛ ساخت اولین کار · 0٪

در دو قسمت قبل، اطلاعات یک کار رو داخل دیکشنری نگه می‌داشتیم. حالا می‌خوایم هر کار علاوه بر عنوان، کاری مثل «انجام‌شده شدن» هم بلد باشه. کلاس کمک می‌کنه اطلاعات و کارهای مربوط به اون رو کنار هم بنویسیم. به این روش شیءگرایی می‌گن. البته برای حل هر مسئله‌ای لازم نیست کلاس بسازیم.

کلاس Task مثل یک الگو برای ساخت کارهاست. با Task("تمرین پایتون") یک شیء یا نمونه (instance) از این الگو می‌سازیم.

  • ویژگی یا attribute، اطلاعات شیء هست؛ مثلاً عنوان کار.
  • متد، تابعی هست که از طریق شیء صداش می‌زنیم؛ مثلاً انجام‌شده کردن کار.
  • __init__ وقتی نمونه تازه آماده می‌شه اجرا می‌شه.
  • self به همون نمونه اشاره می‌کنه. وقتی task.complete() رو صدا می‌زنیم، پایتون خودش نمونه رو به متد می‌فرسته.
class Task:
    def __init__(self, title):
        self.title = title
        self.done = False

    def complete(self):
        self.done = True

task = Task("تمرین پایتون")
print(task.title)
task.complete()
print(task.done)

خروجی دو خط تمرین پایتون و True هست. عنوان و وضعیت هر کار می‌تونه مستقل باشه، اما تعریف متد رو یک بار نوشتیم. در این بخش مدیریت کارها رو قدم‌به‌قدم می‌سازیم؛ بعداً اون رو ذخیره می‌کنیم و براش پنجره می‌سازیم.

فعالیت شما

اجزای کلاس، نمونه، ویژگی و متد رو در یک مثال تشخیص بده.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

فعالیت‌های این بخش به اشتراک فعال نیاز دارند. تهیهٔ اشتراک

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

کد اولیهٔ فعالیت

class Task:
    def __init__(self, title):
        self.title = title
        self.done = False

    def complete(self):
        self.done = True

task = Task("تمرین پایتون")
print(task.title)
task.complete()
print(task.done)