温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python怎么将实例用作属性

发布时间:2021-05-14 15:25:14 来源:亿速云 阅读:148 作者:小新 栏目:编程语言

小编给大家分享一下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()

Python的优点有哪些

1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。

看完了这篇文章,相信你对“python怎么将实例用作属性”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI