Bölüm kodlarını ve/veya veri setlerini indir.
Sınıflar ve nesneler konusunda kısaca methotlara değinilmişti. Şimdi de biraz daha geniş çaplı bir örnek yaprak methotları inceleyelim.
Örnek-1: Sehirler arası sefer düzenleyen otobüs firmalarına ait sefer bilgileri, bilet satış, bilet iptal, yolcu sayısı, otobüs kapasitesi artır özelliklerini taşıyan bir class methotları oluşturalım
class Ulasim():
def __init__(self,firma,kalkis,varis,saat,otobusKapasitesi,yolcuSayisi):
self.firma=firma
self.kalkis=kalkis
self.varis=varis
self.saat=saat
self.otobusKapasitesi=otobusKapasitesi
self.yolcuSayisi=yolcuSayisi
def seferBilgileri(self):
return "{} firmasına ait {}-{} saat:{} seferi.".format(
self.firma,
self.kalkis,
self.varis,
self.saat)
def biletAl(self,biletSayisi=1):
alinabilecekBiletSayisi=self.otobusKapasitesi-self.yolcuSayisi
if biletSayisi>alinabilecekBiletSayisi:
print("Otobüste {} kişilik yer bulunmamaktaır. En fazla {} kişilik yer satılabilir".format(
biletSayisi,
alinabilecekBiletSayisi
))
elif biletSayisi==alinabilecekBiletSayisi:
print("Bilet alma işlemi başarılıdır. {} kişilik otobüs tamamen dolmuştur.".format(self.otobusKapasitesi))
self.yolcuSayisi+=biletSayisi
else:
self.yolcuSayisi+=biletSayisi
print("Bilet alma işlemi başarılı bir şekilde yapılmıştır. Kalan bilet sayısı: {}".format(
self.otobusKapasitesi-self.yolcuSayisi
))
def yolcuSayisiListele(self):
print("Yolcu sayısı :{}".format(self.yolcuSayisi))
def biletIptal(self,biletSayisi=1):
if biletSayisi>self.otobusKapasitesi:
print("Yanlış bir değer girildi, iptal sayısı otobüs kapasitesinden büyük olamaz.")
else:
self.yolcuSayisi-=biletSayisi
print("Yolcu çıkarma işlemi başarılıdır.")
self.yolcuSayisiListele()
def otobusKapasitesiArtır(self,artımMiktari):
self.otobusKapasitesi+=artımMiktari
print("Otobüs'ün yeni kapasitesi:{}'dir.".format(self.otobusKapasitesi))
sefer1=Ulasim("A Ulaşım","Ankara","İstanbul",11.00,50,43)
sefer1.seferBilgileri()
Çıktı:
'A Ulaşım firmasına ait Ankara-İstanbul saat:11.0 seferi.'
sefer1.biletAl(4)
Çıktı:
Bilet alma işlemi başarılı bir şekilde yapılmıştır. Kalan bilet sayısı: 3
sefer1.biletAl(4)
Çıktı:
Otobüste 4 kişilik yer bulunmamaktaır. En fazla 3 kişilik yer satılabilir
sefer1.biletAl(3)
Çıktı:
Bilet alma işlemi başarılıdır. 50 kişilik otobüs tamamen dolmuştur.
sefer1.biletIptal(4)
Çıktı:
Yolcu çıkarma işlemi başarılıdır. Yolcu sayısı :46
sefer1.otobusKapasitesiArtır(4)
Çıktı:
Otobüs'ün yeni kapasitesi:54'dir.
sefer1.biletAl(11)
Çıktı:
Otobüste 11 kişilik yer bulunmamaktaır. En fazla 8 kişilik yer satılabilir