آموزش متد ()__init__ در پایتون
تمام کلاسها، یک متد داخلی به نام __init__() دارند، که همواره وقتی که کلاس مورد نظر مقداردهیاولیه(is being initiated) میشود، اجرا میشود.
از متد __init__() برای انتساب مقادیر به پروپرتیهای آبجکت(object properties) یا انجام عملیاتهای ضروری، وقتی که آبجکت ایجاد شده است، استفاده میشود.
مثال شماره 1
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Emil", 36)
print(p1.name)
print(p1.age)
نتیجه:
Emil
36
امتحان کنیدنکته: متد __init__() هر موقع که کلاس مورد نظر برای ایجاد یک آبجکت جدید مورد استفاده قرار میگیرد، به طور اتوماتیک فراخوانی میشود.
چرا از __init__() استفاده کنیم؟
بدون متد __init__() ما نیاز داریم پروپرتیها را به صورت دستی برای هر آبجکت تنظیم کنیم:
مثال شماره 2
ایجاد یک کلاس بدون __init__():
class Person:
pass
p1 = Person()
p1.name = "Tobias"
p1.age = 25
print(p1.name)
print(p1.age)
نتیجه:
Tobias
25
امتحان کنیداستفاده از متد __init__() ایجاد آبجکتها با مقادیر اولیه را سادهتر میکند:
مثال شماره 3
با استفاده از متد __init__() میتوانیم وقتی که داریم یک آبجکت را ایجاد میکنیم، مقادیر اولیه را تنظیم کنیم:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Linus", 28)
print(p1.name)
print(p1.age)
نتیجه:
Linus
28
امتحان کنیدمقادیر پیش فرض در متد __init__()
ما همچنین میتوانیم برای پارامترهای درون متد __init__() مقادیر پیشفرض را تنظیم کنیم:
مثال شماره 4
تنظیم یک مقدار پیشفرض برای پارامتر age:
class Person:
def __init__(self, name, age=18):
self.name = name
self.age = age
p1 = Person("Emil")
p2 = Person("Tobias", 25)
print(p1.name, p1.age)
print(p2.name, p2.age)
نتیجه:
Emil 18
Tobias 25
امتحان کنیداستفاده از چند پارامتر
در متد __init__() میتوانیم هر تعداد پارامتر که نیاز داشته باشیم را مشخص کنیم:
مثال شماره 5
ایجاد یک کلاس Person با استفاده از چندین پارامتر:
class Person:
def __init__(self, name, age, city, country):
self.name = name
self.age = age
self.city = city
self.country = country
p1 = Person("Linus", 30, "Oslo", "Norway")
print(p1.name)
print(p1.age)
print(p1.city)
print(p1.country)
نتیجه:
Linus
30
Oslo
Norway
امتحان کنید
منبع: www.w3schools.com/python
- بازدید: 29
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.