متد __init__

در مثال 71: ایجاد یک کلاس از کلاس Pet برای ایجاد یک آبجکت Pet به نام chubbles استفاده کردیم:

chubbles = Pet()

در این قسمت میبینیم که وقتی به این صورت آبجکت ایجاد میکنیم چه اتفاقی میافته.

پایتون یک متد مخصوص به نام init__ داره که زمانی که یک آبجکت از یکی از قالب های کلاس ایجاد (initialize) میکنیم کال میشه. برای مثال در ادامه مثال قبلی، فرض کنید که میخواستیم قد Petمون رو موقع ایجاد آبجکت مشخص کنیم. برای این کار یک متد __init__ به صورت زیر ایجاد میکنیم:

class Pet():
    """
    A class to capture useful information regarding my pets, just incase
    I lose track of them.
    """
    def __init__(self, height):
        self.height = height

    is_human = False
    owner = 'Michael Smith'

متد init مقدار height (همون قد) رو میگیره و به عنوان یکی از خاصیت های آبجکت جدیدمون اختصاصش میده. میتونیم این قابلیت جدید کلاسمون رو تست کنیم:

chubbles = Pet(height=5)
chubbles.height
out: 5