codingcogs' logo

متد __init__

به متدهای رزرو شده در پایتون برای کلاس‌ها special method می‌گوییم. special method ها رفتار سطح بالا (high level) کلاس را تغییر می‌دهند. اولین special method ای که بررسی می‌کنیم __init__ است. این متد در زمان initialize شدن یک object از قالب ( template ) کلاس فراخوانی ( call ) می‌شود. به کد زیر از کلاس بروز شده‌ی مثال قبل برای کلاس Pet دقت کنید:

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 در کد بالا در زمانی ساخت object یک ورودی دریافت می‌کند. کد بالا را اجرا کرده و سپس کد زیر را تست کنید:

chubbles = Pet(height=5)

chubbles.height # 5