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()
以上就是python将实例用作属性的方法,希望对大家有所帮助。更多Python学习指路:创新互联python教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
当前文章:创新互联Python教程:python如何将实例用作属性
链接地址:http://www.mswzjz.com/qtweb/news4/175454.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联