- Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。
- 代码包含了定义类、实例化对象、继承、子类重写父类方法。
- 在工程里,可以将代码量较大的类存储在模块中,然后在主程序里导入所需的模块。
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.price = '10w'
self.gas = 40
def get_info(self):
info = str(self.year) + ' ' + self.make + ' ' + self.model
print(info)
return
def fill_gas_tank(self):
print("You use %d liters gas" % (100-self.gas))
class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
self.battery_size = 60
def get_battery_info(self):
print(self.battery_size)
def fill_gas_tank(self):
print("Your car don't need gas !")
if __name__ == "__main__":
car = Car('audi', 'a4', 2016)
print("-----对父类对象car的测试-----", )
print("打印定义的新属性:", end=' ')
print(car.price)
print("主函数内修改定义的新属性,(发现可以修改):", end=" ")
car.price = '20w'
print(car.price)
print("调用get_info,打印车子信息:", end=" ")
car.get_info()
print("\n----------子类测试-------------")
print("my_tesla:", end=" ")
my_tesla = ElectricCar('tesla', 'model s', 2019)
my_tesla.get_info()
print("my_tesla.get_battery_info():", end=" ")
my_tesla.get_battery_info()
print("car.fill_gas_tank():", end=" ")
car.fill_gas_tank()
print("my_tesla.fill_gas_tank():", end=" ")
my_tesla.fill_gas_tank()
- 运行结果
