• 技术文章 >Python技术 >Python基础教程

    python如何将实例用作属性

    小妮浅浅小妮浅浅2021-08-05 09:45:49原创3578

    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删除str中特定字符的方法 下一篇:python轮盘赌算法如何使用

    相关文章推荐

    • python实例:Python中如何删除numpy数组的元素• Python实例之用Python求完全平方数• python实例如何访问局部变量?• Python实例属性的优先级分析• python实例:用代码画五角星• python实例属性的查找顺序• python实例方法中self的作用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网