Pitón programación básica: PyCharm a cabo sin la adición de una clase padre atributos subclase

En este artículo se describe la PyCharm añadir una clase padre no implementa la propiedad en una subclase, un buen valor de referencia, queremos ayuda. Xiao Bian juntos para dar seguimiento a verlo
me ADO, directa o mirar el código que!

class Car():
  """一次模拟汽车的简单尝试"""
  def __init__(self, make, model, year):
    """初始化描述汽车的属性"""
    self.make = make
    self.model = model
    self.year = year
    self.odometer_reading = 0
 
  def get_description_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 ElectricCar(Car):
  """电动汽车的独特之处"""
  def _init_(self, make, model, year):
    """
    电动汽车的独特之处
    初始化父类的属性,再初始化电动汽车特有的属性
    """
    super().__init__(make, model, year)
    self.battery_size = 70
 
  def describe_battery(self):
    """打印一条描述电瓶容量的消息"""
    print("This car has a " + str(self.battery_size) + "-kwh battery.")
 
my_tesla = ElectricCar('tesla', 'model s', 2016)
print(my_tesla.get_description_name())
my_tesla.describe_battery()

El resultado:

Traceback (most recent call last):
 File "E:/Python编程从入门到精通配套资料/Self-taught Python/electric_car.py", line 50, in <module>
  my_tesla.describe_battery()
 File "E:/Python编程从入门到精通配套资料/Self-taught Python/electric_car.py", line 46, in describe_battery
  print("This car has a " + str(self.battery_size) + "-kwh battery.")
AttributeError: 'ElectricCar' object has no attribute 'battery_size'

conocimientos adicionales: la herencia de clases pitón, métodos de agregar cubiertas de subclases de métodos de subclases, añadiendo atributos de la subclase, y continúan los atributos de la clase de los padres

un método pitón subclase si queremos heredar una clase y no cambiamos la clase actual, podemos crear, para continuar su método

1, la herencia de clases, vamos a crear un animal clase padre, y nos permiten crear una subclase de un perro, heredado de subclases animales perro método de la clase padre, pero de ningún ejecutar cualquier código, a continuación, inicializamos la subclase sobre perros como dog_1, recuerde que también es la altura peso entrante, o será de error podemos encontrar dog_1 hereda las propiedades y métodos dentro de los Animales. Salida directa y cómo llamarlo.

class Animal():
  def __init__(self, weight, high):
    self.weight = weight
    self.high = high
  def shout(self):
    print('wow')
class Dog(Animal):
  pass
dog_1 = Dog(20,40)
print(dog_1.high)
print(dog_1.weight)
dog_1.shout()
#输出内容是
40
20
wow

2, un método para añadir una subclase, también podemos añadir nuevos métodos en esta subclase perro, por ejemplo, se añade un método de ejecución, y luego inicializa dog_1, se encuentra dog_1 se han ejecutar este método.

class Dog(Animal):
  def run(self):
    print('running')
dog_1 = Dog(20,40)
dog_1.run()
#输出结果是
running

3, que cubre el método de la subclase, se añade un gato subclase, también heredó animal, pero encuentra que el gato no es un wow llamada, por lo que tenemos que redefinir qué función, el animal clase padre en la función sobrescrito gritar. Entonces llamamos a la subclase cat_1 gato inicialización, recordamos que pasar peso y la altura, o será de error, y luego llamar al método grito, se encuentra el contenido de la salida es Miao, debido a que la subclase de funciones en las funciones de la clase padre sobrescritos a.

class Cat(Animal):
  def shout(self):
    print('miao')
cat_1 = Cat(20, 40)
cat_1.shout()
#输出结果是
miao

4, añadir un atributo de la subclase, y continuar propiedades de la clase padre, entonces si le damos gato añadir un color de la propiedad, con el mismo __init__ para definir las propiedades, pero tenemos que utilizar super () para heredar la clase padre peso y alta sexual, atributos de color, lo mismo con la asignación self.color, por lo que cat_2 gato tiempo de inicialización de clase pasarán tres parámetros, la salida de un cat_2.color, se puede ver una llamada normal.

class Cat(Animal):
  def __init__(self, weight, high, color):
    super().__init__(weight, high)
    self.color = color
  def shout(self):
    print('miao')
cat_2 = Cat(20, 40, 'yellow')
print(cat_2.color)
#输出结果是
yellow

herencia de clases se detendrá aquí,
contenido en más de cuántos, y finalmente a recomendar una buena reputación en el número de instituciones públicas [programadores], hay una gran cantidad de veteranos habilidades de aprendizaje, la experiencia de aprendizaje, habilidades de la entrevista, experiencia de trabajo y otra acción, cuanto más hemos preparado cuidadosamente la basada en cero información introductoria, información sobre proyectos reales, el tiempo tiene que explicar la tecnología programador Python todos los días, compartir algunos métodos de aprendizaje y la necesidad de prestar atención a los pequeños detallesAquí Insertar imagen Descripción

Publicado 20 artículos originales · ganado elogios 0 · Vistas 3618

Supongo que te gusta

Origin blog.csdn.net/chengxun02/article/details/104998753
Recomendado
Clasificación