__repr__
__repr__() usuli
__str__() obyektni chop etishda ko‘rsatiladigan o‘qilishi mumkin bo‘lgan, foydalanuvchiga mo‘ljallangan matnni boshqarsa,__repr__() ishlab chiquvchilar uchun mo‘ljallangan ko‘proq texnik tasvirni boshqaradi.
Misol
Obyektni tasvirlash uchun __repr__()dan foydalaning:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"Person('{self.name}', {self.age})"
p1 = Person("Tobias", 25)
print(p1)
O‘zingiz sinab ko‘ring »
Eslatma: Bu classda __str__() usuli yo‘q, shuning uchun obyekt chop etilganda Python __repr__()ga qaytadi.
__str__() va __repr__()
Agar class __str__() va __repr__()ni aniqlasa,print()__str__()dan foydalanadi, o‘rnatilgan repr() funksiyasi har doim __repr__()dan foydalanadi:
Misol
Ikkala usulni ham aniqlang va ularning har biri ishlab chiqaradigan narsalarni solishtiring:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} ({self.age})"
def __repr__(self):
return f"Person(name={self.name!r}, age={self.age})"
p1 = Person("Emil", 36)
print(p1)
print(repr(p1))
O‘zingiz sinab ko‘ring »
Eslatma:__str__() qisqa, o‘qilishi mumkin bo‘lgan matnni beradi.__repr__() ko‘proq texnik natija beradi, bu obyektni qayta yaratish uchun zarur bo‘lgan kodga o‘xshaydi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
