导语:
本文主要介绍了关于python如何将实例用作属性的相关知识,希望可以帮到处于编程学习途中的小伙伴
1、说明
由于模拟中的细节越来越多,类变得有些复杂,我们可以从中提取细节作为类型和子类型的属性。
把子类中的电池分开,组成一个新的类。
2、实例
class Car:
---snip---
#创建子类时,父类文件必须包含在该文件中,且圆括号内必须包含父类的名称
#---snip--- 表示上一个代码中父类的基本属性
class Battery:#先是定义了一个新类——Battery,他没有继承任何类。
"""一次模拟电动汽车电瓶的简单尝试。"""
def __init__(self,battery_size = 75):#其中有一个形参battery_size,这个形参是可选的,被默认为75.但不是默认值,仍然可以进行改变的
"""初始化电瓶的属性"""
self.battery_size = battery_size
def describe_battery_size(self):
"""打印一条描述电瓶容量的消息"""
print(f"This car has a {self.battery_size}-kwh battery")
def get_range(self):
"""打印一条消息,指出电瓶的续航里程"""
if self.battery_size == 75:
range = 260
elif self.battery_size == 100:
range = 315
print(f"This car can go about {range} miles on a full charge")
#虽然将原来的实例电池作为属性,有点繁杂,但是整个之后可以方便我们对电池进行更详细的描述,不至于在子类中显得太繁杂
class Electric_Car(Car):
"""描述电动汽车类"""
def __init__(self,make,model,year):
"""
初始化父亲的属性
再初始化电动汽车特有的属性
"""
super().__init__(make,model,year)#super()能够让我们调用父类的方法
self.battery_size = Battery()#直接在子类的基本属性中添加基本属性了
def describe_battery(self):#添加新的方法
"""打印一条描述电瓶容量的消息"""
print(f"This car has a {self.battery_size.battery_size}-kwh battery.")#当battery没有变成类的时候,battery相当于一个一个简单
#的属性并且已经是个默认值了。但是将battery变成类时,battery_size = Battery 然后需要去该类中寻找描述电池的方法,所以格式为,实例名.属性.类方法
def fill_gas_tank(self):
"""电瓶车没有汽油"""
print(f"This car doesn't need a gas tank")
my_tesla = Electric_Car('tesla','model s',2019)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
my_tesla.fill_gas_tank()
my_tesla.battery_size.describe_battery_size()
my_tesla.battery_size.get_range()
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python返回函数有什么作用?11/14
- ♥ 如何搭建python3开发环境01/03
- ♥ 如何在python中使用拉普拉斯算子12/29
- ♥ Python导入运行模块的原理11/15
- ♥ 如何使用python对csv中的数据进行排序09/24
- ♥ python3中setdefault方法的使用教程12/31
内容反馈