Python self parametri
O‘z-o‘zidan parametr
selfparametri classning joriy nusxasiga havola.
U classga tegishli xususiyatlar va usullarga kirish uchun ishlatiladi.
Misol
Class xususiyatlariga kirish uchunselfdan foydalaning:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print("Hello, my name is " + self.name)
p1 = Person("Emil", 25)
p1.greet()
O‘zingiz sinab ko‘ring »
Eslatma:selfparametri sinfdagi har qanday usulning birinchi parametri bo‘lishi kerak.
Nega self ishlatiladi?
selfbo‘lmasa, Python qaysi obyekt xususiyatlariga kirishni xohlayotganingizni bilmaydi:
Misol
selfparametri usulni aniq obyektga bog‘laydi:
class Person:
def __init__(self, name):
self.name = name
def printname(self):
print(self.name)
p1 = Person("Tobias")
p2 = Person("Linus")
p1.printname()
p2.printname()
O‘zingiz sinab ko‘ring »
O‘zini "o‘zim" deb nomlash shart emas
Uselfdeb nomlanishi shart emas, siz uni xohlaganingizcha chaqirishingiz mumkin, lekin u sinfdagi har qanday usulning birinchi parametri bo‘lishi kerak:
Misol
O‘z o‘rniga myobject va abc so‘zlarini ishlating:
class Person:
def __init__(myobject, name, age):
myobject.name = name
myobject.age = age
def greet(abc):
print("Hello, my name is " + abc.name)
p1 = Person("Emil", 36)
p1.greet()
O‘zingiz sinab ko‘ring »
Eslatma: Boshqa nomdan foydalanishingiz mumkin bo‘lsa-da,selfdan foydalanish tavsiya etiladi, chunki bu Python-dagi konventsiya bo‘lib, kodingizni boshqalarga o‘qishni osonlashtiradi.
Xususiyatlarga o‘z-o‘zidan kirish
selfyordamida classning istalgan xususiyatiga kirishingiz mumkin:
Misol
Access multiple properties using self:
class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year
def display_info(self):
print(f"{self.year} {self.brand} {self.model}")
car1 = Car("Toyota", "Corolla", 2020)
car1.display_info()
O‘zingiz sinab ko‘ring »
self yordamida metodlarni chaqirish
selfyordamida class ichidagi boshqa usullarni ham chaqirishingiz mumkin:
Misol
selfyordamida bir usuldan boshqa usulni chaqiring:
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return "Hello, " + self.name
def welcome(self):
message = self.greet()
print(message + "! Welcome to our website.")
p1 = Person("Tobias")
p1.welcome()
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
