Cree una clase sencilla con un método constructor (__init__
) y pocos atributos.
Instancie un objeto de esta clase y compruebe los atributos.
class Pedido: # nombre en singular y con la primera letra en mayúscula, por convenio
# método constructor, siempre se pone un self que hace referencia al propio objeto
def __init__(self, producto, precio):
self.producto = producto
self.precio = precio
miPatinete = Pedido("patinete eléctrico", 349.99)
print(f"Me he comprado un {miPatinete.producto} por {miPatinete.precio} €.")
class Coche:
def __init__(self, marca, modelo, year, termico, consumo, autonomia, paises):
self.marca = marca
self.modelo = modelo
self.year = year # no ponemos año para evitar ñ
self.termico = termico # evitamos acentos
self.consumo = consumo
self.autonomia = autonomia
self.paises = paises # es una lista de países, si es uno solo se pone como lista: ['España']
def describe(self):
print(f"Tengo un {self.marca} {self.modelo}, del año {self.year}.")
print(f"Consume {self.consumo}, tiene una autonomía de {self.autonomia} Km y se fabrica en {self.paises[0]}.")
miA3 = Coche("Audi", "A3", 2020, True, 3.8, 990, ['Alemania'])
miTesla3 = Coche("Tesla", "Model 3", 2022, False, 16.2, 614, ['EEUU', 'China', 'Alemania'])
miA3.describe()
print()
miTesla3.describe()
class Coche:
def __init__(self, marca, modelo, year, termico, consumo, autonomia, paises):
self.marca = marca
self.modelo = modelo
self.year = year
self.termico = termico
self.consumo = consumo
self.autonomia = autonomia
self.paises = paises
def esTermico(self):
if self.termico:
return "térmico"
else:
return "eléctrico"
def elConsumo(self):
if self.termico:
return "litros a los 100 Km"
else:
return "Kw/h"
def lasFabricas(self):
todos = ""
for pais in self.paises:
todos += pais + ", "
return todos[:-2]
def describe(self):
print(f"Mi {self.marca} {self.modelo}, del año {self.year}, es un vehículo {self.esTermico()}, " \
f"consume {self.consumo} {self.elConsumo()}, tiene una autonomía de {self.autonomia} Km "\
f"y se fabrica en {self.lasFabricas()}.")
miA3 = Coche("Audi", "A3", 2020, True, 3.8, 990, ['Alemania'])
miTesla3 = Coche("Tesla", "Model 3", 2022, False, 16.2, 614, ['EEUU', 'China', 'Alemania'])
miA3.describe()
print()
miTesla3.describe()
Establezca y utilize el método especial __str__
.
class Laptop:
def __init__(self, marca, modelo): # método constructor
self.marca = marca
self.modelo = modelo
def __str__(self):
return f"es de la marca {self.marca}, modelo {self.modelo}."
miPortatil = Laptop("HP", "Envy")
print("Mi portátil", miPortatil)
Mi portátil es de la marca HP, modelo Envy.
Usando dentro del método __str__
algún print.
class Laptop:
def __init__(self, marca, modelo): # método constructor
self.marca = marca
self.modelo = modelo
def __str__(self): # se imprimen dos frases
print("HOLA") # la primera frase imprime HOLA
print(f"Mi portátil es de la marca {self.marca}, modelo ", end="") # el modelo no se dice aquí
return self.modelo # el modelo va en el return
miPortatil = Laptop("HP", "Envy")
print(miPortatil)
HOLA Mi portátil es de la marca HP, modelo Envy