به آموزشگاه مجازی سینا خوش آمدید!

آموزش متد ()__init__ در پایتون

امتیاز
(0)

تمام کلاس‌ها، یک متد داخلی به نام __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. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال