15-Mavzu: Sinflar va obyektlar bilan ishlash Reja obyekt nima?


ARGUMENT QABUL QILUVCHI METODLAR


Download 52.67 Kb.
bet6/6
Sana22.06.2023
Hajmi52.67 Kb.
#1650468
1   2   3   4   5   6
Bog'liq
15 Sinflar va obyektlar bilan ishlash

ARGUMENT QABUL QILUVCHI METODLAR
Yuqoridagi misolimizda barcha metodlar faqatgina self parametrini qabul qilishayapti. Aslida, barcha funksiyalar kabi, klass ichidagi obyektlarni ham boshqa argumentlar qabul qiladigan qilib yozish mumkin.
class Talaba:
"""Talaba nomli klass yaratamiz"""
def __init__(self,ism,familiya,tyil):
"""Talabaning xususiyatlari"""
self.ism = ism
self.familiya = familiya
self.tyil = tyil
def get_name(self):
"""Talabaning ismini qaytaradi"""
return self.ism
def get_lastname(self):
"""Talabaning familiyasini qaytaradi"""
return self.familiya
def get_fullname(self):
"""Talabaning ism-familiyasini qaytaradi"""
return f"{self.ism} {self.familiya}"
def get_age(self,yil):
"""Talabaning yoshini qaytaradi"""
return yil-self.tyil
def tanishtir(self):
print(f"Ismim {self.ism} {self.familiya}. {self.tyil} yilda tu'gilganman")
Yuqorida klassimizga yangi get_age(self,yil) metodini qo'shdik. Bu metod obyektning o'zidan tashqari, qo'shimcha, yil argumentini ham qabul qiladi va talabaning yoshini qaytaradi.
talaba1 = Talaba("Alijon","Valiyev",2000)
print(talaba1.get_age(2021))
Natija: 21
pass OPERATORI
Pythonda hech qanday vazifani bajarmaydigan pass operatori mavjud. Bu operatordan bo'sh metodlar yaratishda foydalanish mumkin. Misol uchun siz klassingiz uchun muhim metodlarni bilasiz, lekin metod badani hali tayyor emas. Agar metod badanini bo'sh qoldirsangiz, Python IndentationError xatosini qaytaradi. Shunday xolatlarda, funksiya badaniga pass operatorini qo'yib ketishimiz mumkin:
class User:
def __int__(self,name,username,email):
self.name = name
self.uname = username
self.mail = email
def describe():
pass
def get_email():
pass
Yuqoridagi klassimizda describe() va get_email() funksiyalar badani hali tayyor emas, bo'shliqni to'ldirish uchun esa pass operatoridan foydalanganmiz.
pass operatoridan if-else, for, while operatorlari badanida ham foydalanish mumkin.
Download 52.67 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling