请问这行代码无法运行的原因是什么?和python版本有关吗?

代码如下 :
#一次模拟汽车的简单尝试###
class Car():
   def __init__(self,make,model,year):
      self.make=make
      self.model=model
      self.year=year
      self.odometer_reading=0
   def get_descriptive_name(self):
      long_name=str(self.year)+' '+self.make+' '+self.model
      return long_name.title()
   def read_odometer(self):
      print("This car has "+str(self.odometer_reading)+" miles on it.")
   def update_odometer(self,mileage):
      if mileage>=self.odometer_reading:
         self.odometer_reading=mileage
      else:
         print("You can't roll back an odometer!")
      def increment_odometer(self,miles):
         self.odometer_reading+=miles
class Battery():
   def __init__(self,battery_size=70):
      self.battery_size=battery_size
   def describe_battery(self):
      print("This car has a "+str(self.battery_size)+"-kWh battery.")
class Electriccar(Car):
   def __init__(self,make,model,year):
      super().__init__(make,model,year)
      self.battery_size=Battery()
my_tesla=Electriccar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()

python版本:3.9

运行结果:

Traceback (most recent call last):
  File "C:\Users\老大\Desktop\python\electric_car_1.py", line 31, in <module>
    my_tesla.battery.describe_battery()
AttributeError: 'Electriccar' object has no attribute 'battery'

问题这不是很明确嘛,就是 'Electriccar'没有 'battery'这个属性。所以,你把 battery_size写错了

my_tesla.battery.describe_battery()换成
my_tesla.battery_size.describe_battery()

倒数第四行代码写错了

改成这个  self.battery = Battery()

或者楼上的方法也是可以

就是你的代码里添加的属性是self.battery_size=Battery()

而你最后一句调用却是my_tesla.battery.describe_battery()

这个没对应上就报错,你让这俩对应上就对了。