python--从入门到实践--chapter 9 类
生活随笔
收集整理的這篇文章主要介紹了
python--从入门到实践--chapter 9 类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
類的定義格式:
class Name(Father_class):def __init__(self, para, ...):self.para = xdef __init__(self, para, ...):super().__init__(para, ...) #調用父類的構造函數 class Car():def __init__(self,make,model,year): #構造函數self.make = makeself.model = modelself.year = yearself.odometer_reading = 0def get_descriptive_name(self):long_name = str(self.year) + ' ' + self.make + ' ' + self.modelreturn long_name.title()def read_odometer(self):print('This car has ' + str(self.odometer_reading) + ' miles on it.')def update_odometer(self,mileage):if mileage >= self.odometer_reading:self.odometer_reading = mileageelse:print('You can not roll back an odometer!')def increment_odometer(self, miles):if miles < 0:print('You can cheat me! driving miles < 0')else:print('driving this car ' + str(miles) + 'miles')self.odometer_reading += milesdef fill_gas_tank(self):print('This car need fill gas !')class Battery():def __init__(self, battery_size=70): #構造函數,帶默認參數值self.battery_size = battery_sizedef describe_battery(self):print('This car has a ' + str(self.battery_size) + '-KWh battery.')def upgrade_battery(self):if self.battery_size != 85:self.battery_size = 85print("battery update successfully !")def get_range(self):if self.battery_size == 70:range = 240elif self.battery_size == 85:range = 270message = 'This car can go approximately ' + str(range)message += ' miles on a full charge.'print(message)class ElectricCar(Car): #類的繼承def __init__(self, make, model, year):super().__init__(make, model, year) #調用父類初始化函數初始化父類成員self.battery = Battery() #新的成員,一個Battery對象def fill_gas_tank(self):# super().fill_gas_tank()print('This car doesn\'t need a gas tank!')my_tesla = ElectricCar('tesla','model s', 2019) print(my_tesla.get_descriptive_name()) my_tesla.battery.describe_battery() my_tesla.fill_gas_tank() my_tesla.battery.get_range() my_tesla.battery.upgrade_battery() my_tesla.battery.get_range()總結
以上是生活随笔為你收集整理的python--从入门到实践--chapter 9 类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity python_Unity引擎
- 下一篇: LeetCode 965. 单值二叉树