رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مفهوم مقدماتی ۷ دقیقه

self و سازنده

سازندهٔ __init__، نقش self، ساخت شیء و خطاهای رایج فراموش‌کردن self.

ساخت شیء دو قدم است که پایتون قاطی‌شان نمی‌کند: تخصیص نمونهٔ تازه، بعد صدازدن __init__ برای مقداردهی اولیه. تو فقط __init__ را می‌نویسی؛ __new__ (قدم اول) فقط در سناریوهای پیشرفته لازم می‌شود.

class Point:
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y

p = Point(3, 4)  # self خودکار همان p است

سه خطای کلاسیک: (۱) جاانداختن self در تعریف متد → خطای آرگومان اضافی موقع فراخوانی؛ (۲) فراموش‌کردن self. موقع ساخت ویژگی → متغیر محلی که با پایان سازنده می‌میرد؛ (۳) انتظار اجرای خودکار سازندهٔ والد در وراثت → پایتون این کار را نمی‌کند.

پیش‌نیازها

مطالب مرتبط

از همین بخش و با برچسب‌های مشترک

این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

وضعیت پیشرفت برای self و سازنده