51Testing软件测试论坛

标题: 莫名其妙提示语法错误??? [打印本页]

作者: 测试积点老人    时间: 2020-9-15 13:32
标题: 莫名其妙提示语法错误???
各位大佬我想知道一下这串代码有什么问题,从书上抄的不知道为什么提示'Battery' object has no attribute 'describe_battery'
希望帮忙看一下非常感谢
源代码:
class Car():
   """一次模拟汽车的简单测试"""
  1. def __init__(self,make,model,year):
  2.        """初始化描述汽车的属性"""
  3.        self.make=make
  4.        self.model=model
  5.        self.year=year
  6.        self.odometer_reading=0


  7.    def get_descriptive_name(self):
  8.        """返回整洁的信息"""
  9.        long_name=str(self.year)+''+self.make+''+self.model
  10.        return long_name.title()


  11.    def read_odometer(self):
  12.        """打印一条信息指出汽车总里程"""
  13.        print("this car has"+str(self.odometer_reading)+"miles on it.")


  14.    def update_odometer(self,mileage):
  15.        '''
  16.        将里程表设置为指定的值
  17.        并阻止回调里程表   
  18.        '''
  19.        if mileage >= self.odometer_reading:
  20.            self.odometer_reading=mileage
  21.        else:
  22.            print:("you can't roll back an odometer!")
  23.    def increment_odometer(self,miles):
  24.        self.odometer_reading += miles

  25. class Battery():
  26.    def __init__(self,battary_size=70):
  27.        '''初始化电瓶属性'''
  28.        self.battery=battary_size

  29. class ElectricCar(Car):
  30.    """
  31.    电动汽车的独特之处
  32.    初始化父类的属性,再初始化电动汽车特有的属性
  33.    """

  34.    def __init__(self, make,model,year):
  35.        super().__init__(make,model,year)
  36.        self.battery=Battery()


  37. my_tesla = ElectricCar('tesla','model','2016')

  38. print(my_tesla.get_descriptive_name())
  39. my_tesla.battery.describe_battery()
复制代码



作者: 郭小贱    时间: 2020-9-16 09:06
describe_battery()方法不存在
在class Battery():
加上
  def describe_battery(self):
    ... #一些代码
作者: 海海豚    时间: 2020-9-16 09:13
Battery类没有 describe_battery属性,你需要定义一个
作者: bellas    时间: 2020-9-16 09:31
参考下这个链接https://ask.csdn.net/questions/1085239
作者: qqq911    时间: 2020-9-16 10:36
缺少这个方法




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2