Python __init__() metodi
__init__() usuli
Barcha sinflarda __init__() deb nomlangan o‘rnatilgan usul mavjud bo‘lib, u har doim class ishga tushirilganda bajariladi.
__init__() usuli obyekt xususiyatlariga qiymatlar berish yoki obyekt yaratilayotganda zarur bo‘lgan operatsiyalarni bajarish uchun ishlatiladi.
Misol
Shaxs nomli class yarating, ism va yosh uchun qiymatlarni belgilash uchun __init__() usulidan foydalaning:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Emil", 36)
print(p1.name)
print(p1.age)
O‘zingiz sinab ko‘ring »
Eslatma:__init__() usuli har safar yangi obyekt yaratish uchun sinfdan foydalanilganda avtomatik ravishda chaqiriladi.
Nega __init__() ishlatiladi?
__init__() usulisiz har bir obyekt uchun xususiyatlarni qo‘lda o‘rnatishingiz kerak bo‘ladi:
Misol
__init__()siz class yarating:
class Person:
pass
p1 = Person()
p1.name = "Tobias"
p1.age = 25
print(p1.name)
print(p1.age)
O‘zingiz sinab ko‘ring »
__init__()dan foydalanish dastlabki qiymatlarga ega obyektlarni yaratishni osonlashtiradi:
Misol
__init__() yordamida obyektni yaratishda boshlang‘ich qiymatlarni o‘rnatishingiz mumkin:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Linus", 28)
print(p1.name)
print(p1.age)
O‘zingiz sinab ko‘ring »
__init__() da standart qiymatlar
__init__() usulida parametrlar uchun standart qiymatlarni ham o‘rnatishingiz mumkin:
Misol
Yosh parametri uchun standart qiymatni o‘rnating:
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)
O‘zingiz sinab ko‘ring »
Bir nechta parametrlar
__init__() usuli kerakli parametrlarga ega bo‘lishi mumkin:
Misol
Bir nechta parametrlarga ega Person sinfini yarating:
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)
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
