تابع سازنده (_init_) در زبان پایتون


آشنایی با اعضای داده‌ای، اعضای تابعی و تابع init
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.

تابع init در پایتون

آیا از تابع سازنده (_init_) در پایتون آشنایی دارید؟ در بخش از آموزش پایتون می خواهیم به صورت کامل شما عزیزان را با این مبحث آشنا کنیم پس با آکادمی درسمن همراه باشید.

امروزه یک برنامه نویس در طول کار خود با برنامه نویسی شی گرا مواجه می شود. پایتون به عنوان یک زبان برنامه نویسی مدرن، تمامی ابزار ها را برای پیاده سازی فلسفه شی گرایی فراهم می کند. تابع init در پایتون در هسته شی گرایی قرار دارد و برای ایجاد اشیا مورد نیاز است.
هر زمان که برنامه نویسی شی گرا در پایتون انجام می شود، بیشتر با متد __init__ مواجه می شویم که معمولا آن را درک نمی کنیم. در این درس مفهوم اصلی تابع init در پایتون را بررسی می کنیم.
اکثر زبان های برنامه نویسی که شی گرایی را پشتیبانی می کنند، متدی به نام متد سازنده یا constructors وجود دارد. این متد مقدار دهی اولیه آبجکت ها را بر عهده دارد. تابع init در پایتون این کار را برای ما انجام می دهد.

متد __init__ و کلاس

تابع init در پایتون، شبیه سازندگان در C++ و JAVA است. از سازنده ها برای مقدار دهی اولیه شی استفاده می شود. وظیفه سازنده ها این است که هنگام ایجاد یک شی از کلاس، مقدار دهی اولیه را به اعضای داده کلاس انجام دهند.
برای اعلام، مقدار دهی اولیه و دستکاری در اشیا پایتون، از کلاس ها استفاده می کنیم. آن ها به عنوان الگو هایی عمل می کنند که از آن ها اشیا ایجاد می شوند.
مانند متد ها، سازنده همچنین شامل مجموعه ای از دستورات است که در زمان ایجاد object اجرا می شوند.  به محض این که یک شی از یک کلاس نمونه سازی شود، اجرا می شود. این روش برای انجام هر مقدار اولیه ای که می خواهید با شی خود انجام دهید مفید است.

برای درک بهتر به مثال زیر توجه کنید:

# A Sample class with init method  
class Person:  
      
    # init method or constructor   
    def __init__(self, name):  
        self.name = name  
      
    # Sample Method   
    def say_hi(self):  
        print('Hello, my name is', self.name)  
      
p = Person('Mehdi Abbasi')  
p.say_hi()

خروجی این کد عبارت زیر می باشد:

Hello, my name is Mehdi Abbasi

در مثال بالا فردی به نام Mehdi Abbasi ساخته شده است. هنگام ایجاد یک شخص، "Mehdi Abbasi" به عنوان آرگومان ارسال می شود، این آرگومان برای مقدار دهی اولیه شی به تابع init در پایتون  منتقل می شود.
کلمه کلیدی self نمونه یک کلاس را نشان می دهد و ویژگی ها را با آرگومان های داده شده پیوند می دهد. به طور مشابه، بسیاری از اشیا کلاس person را می توان با ارسال نام های مختلف به عنوان آرگومان ایجاد کرد.

به مثال زیر توجه کنید:

# A Sample class with init method  
class Person:  
      
    # init method or constructor   
    def __init__(self, name):  
        self.name = name  
      
    # Sample Method   
    def say_hi(self):  
        print('Hello, my name is', self.name)  
  
# Creating different objects     
p1 = Person('Mehdi')  
p2 = Person('Karen')
p3 = Person('Roxana')
  
p1.say_hi()  
p2.say_hi()
p3.say_hi()

خروجی این قطعه کد به صورت زیر می باشد:

Hello, my name is Mehdi
Hello, my name is Karen
Hello, my name is Roxana

تابع __init__ و وراثت

وراثت توانایی یک کلاس برای استخراج یا به ارث بردن خواص از کلاس دیگر است. بیایید مثال زیر را در نظر بگیریم تا ببینیم تابع init در پایتون چگونه در وراثت کار می کند.

# Python program to
# demonstrate init with
# inheritance
  
class A(object):
    def __init__(self, something):
        print("A init called")
        self.something = something
          
  
class B(A):
    def __init__(self, something):
        # Calling init of parent class
        A.__init__(self, something)
        print("B init called")
        self.something = something
          
obj = B("Something")

خروجی این کد را نیز در ادامه آورده ایم:

A init called
B init called

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

 

نظرات
کاربر درسمن
Mahur

سلام.وقت بخیر کجا میتونم درباره این کد ها سوال بپرسم؟ به یه مشکلی تو این مبحث خوردم

پشتیبانی 1
پشتیبانی 1

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

کاربر درسمن
طاها فکورری

واقعا عالی واقعا خوشحالم از اینکه این اموزش کامل و با حوصله رو پیدا کردم اونم رایگان خدا خیرشون بده

پشتیبانی 1
پشتیبانی 1

سلام طاها جان وقتتون بخیر.

میشه بگید از چه راهی تونستید با دوره پایتون آشنا بشید؟ مثلا از طریق گوگل یا شبکه های اجتماعی یا معرفی دوستان؟

کاربر درسمن
محمدعلی طهماسبی

بسیار سلیس و روان

پشتیبانی 1
پشتیبانی 1

ممنون از لطف و توجه شما.

کاربر درسمن
رفیعی

عالییییییییییییییییییییییییییییی

پشتیبانی 1
پشتیبانی 1

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


نظر بدهید نظر شما در تصمیم دیگران اثرگذار است. لطفا برای ما و همراهان درسمن نظر خود را بنویسید.
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 892 دقیقه
حجم دوره : 2/60 گیگابایت
سطح مهارت : مقدماتی تا متوسط
وضعیت دوره : پایان یافته
تعداد دانشجویان : 8087
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

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