Curso de Python. POO VII Herencia II. Vídeo 30
HTML-код
- Опубликовано: 7 сен 2024
- Continuamos con el tema de la herencia viendo en este vídeo la sobre escritura de métodos y la herencia múltiple.
Para más cursos, ejercicios y manuales visita: www.pildorasin...
✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅
🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/python-tutorizado/🚀
🚀 ¿Quieres que te resuelva las dudas de Python👉 www.pildorasinformaticas.es/course/python-tutorizado/ 🚀
💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥
La verdad es que quisiera ejercicios de este tema: los objetos, así como también una miscelánea de ejercicios junto a los temas anteriores, voy por el 30, y veo en la página que no hy guías de ejercicios, la verdad.
Eres como JulioProfe, pero en la programación jaja eres todo un crack sigue así
Julio profe enseña nivel inicial este profe enseña mas difícil
@@renzoharolgoneromero1060 :v
Nadie es mas generoso que quien comparte su sabiduria con el resto de la gente....
Le felicito, no solo por su generosidad, sino tambien por su talento ( imagino que construido con miles de horas de duro trabajo), para poder comunicar ccon tanta sencillez conceptos tan enrevesados como son los relativos a cualuier tipo de programacion
sinceramente es un capo este tipo
2020 aprendiendo a programar gracias a este genio
No podes ser tan capo para explicar. Ojala algún día la vida nos cruce así te regalo un vino.
Una video de 24 minutos del maestro Juan, se convierte en una lección magistral de 1hora y cuarto. Es increible la capacidad que tiene para expresarse y enseñar
2022 y encontré este tesoro de curso, excelente profe muchas gracias desde Costa Rica ¡Pura Vida! El Eterno le bendiga un montón por compartir sus conocimientos.
2023 y hasta en foros de programacion recomiendan este curso , comenze en 2021 con python , no entendi y me rendi .... Volvi en 2022 a mediados y encontre un video tuyo y me enganche con el , lo he estoy retomando porque no me quedaron cosas claras y es que aveces cuesta entender algo por si solo , fuera de que lo explicas bien , a veces uno debe volver a ver hasta 5 veces , pero que clases das , no encontrado alguno que explique asi detenidamente y te tomas la molestia de tomar varios puntos que otros no , y solo se dedican a avanzar como loros , pero yo puedo decir que se PYTHON y entiendo codigo de PYTHON POR TI , a mis casi 30 eres como el profe que siempre recomiendo para que aprendan porque es que es increible , ojala vengas con nuevos cursos , uno de python para seguridad informatica puede ser, no logro encontrar alguien que explique tan detallado ciertos conceptos , GRACIAS que de verdad por ti he dictado cursos basicos de python a mis compañeros y se siente bien compartir un poco de lo que he aprendido a tu lado ..... Saludos desde Perú....
Saludos desde Venezuela, muy interesado y sorprendido por su capacidad didáctica, ya tengo una semana siguiendo este curso y de verdad quería agradecerle por el mismo, saludos y un millón de gracias.
Gracias a ti por el comentario y por seguir mis vídeos. Un saludo!
En Argentina le decimos hacer WILLY con la moto!! ;)
Creo que se escribe wheelie
Yo pensaba que era Willie jajajajaj es un misterio
en republica dominicana le decimos calibrar
En Colombia es hacer stunt, también caballito.
Yo nI idea de que era caballito, pero antes de que dijera que significa, ya me imaginaba que era eso
¡Qué bien haces a la humanidad!. Infinitamente agradecido.
Despues de tanto tiempo y este curso le gana por mucho a los mas modernos y pagos
Tengo meses aprendiendo a programar y no había entendido POO , gracias a ti puedo decir que lo estoy comprendiendo.
Espero esté bien, mil gracias por estas clases, eres genial. En los grupos de programación se habla de Píldoras Informáticas como los mejores cursos para aprender.
Saludos desde Venezuela.
Muchas gracias por el comentario Mauricio. Me alegro de que te guste el curso. ¡Un saludo!
Tus cursos son peores que la droga, estoy viciadisimo (8-10 videos por dia) y estoy aprendiendo bastante. Explicas de maravilla, se entiende todo a la perfecion y a la primera. 10 de 10. No descarto otros lenguajes tras acabar este.
Terminaste? Sentis que mejoraste con el curso?
sos un crack cada dia aprendo algo mas, tus tutoriales son demasiado buenos, sin tanto rodeo y sobre todo practico,
infinitas gracias bro
Juan, muchísimas gracias por tu tiempo tan valioso, tu paciencia y tu generosidad para compartir conocimientos. Soy autodidacta y me las veía y deseaba con otros canales. He visto tus lecciones en Python pero eso no significa que no regrese al principio, de nuevo, para repetir todas las clases porque mi cuaderno de apuntes parece una batalla entre letras, llaves, mayúsculas, minúsculas, comillas y flechas (no... no hay indios... ya basta conmigo). Un fuerte abrazo desde Bilbao, profesor, y te llevas mi gratitud para siempre. Saludos, felices vacaciones !!!
apunte al primer comportamiento de la moto que hace el caballito, justo lo que estaba pensando yo... qué grande, gran curso
Soy completamente nuevo en la programación. Estoy siguiendo todo este y ya te he comprado el curso tutorizado. Explicas todo de una forma muy clara. Muchas gracias por todo tu esfuerzo. Un cordial saludo.
Maestro muchas gracias, Dios lo bendiga.
Impresionante lo mucho que aprendo con usted . Un saludo desde paraguay, Lo amamos
Gracias !! Un cordial saludo
Excelente contenido! Muchas gracias por tu tiempo y por tus conocimientos
Muchísimas gracias por subir todo el contenido que subes. Es toda una suerte que alguien así nos enseñe tan bien, y encima en español.
Muchas gracias Juan por tus aportes!!!, el éxito de tu canal es que eres empático con los que somos programadores novatos.
Gracias por el comentario. Lo intento. Todos los programadores, incluso los más famosos y mejores, han sido novatos alguna vez en su vida. Un saludo!!
Este video puede que sea uno de los más completos e importantes de los visionados hasta el momento. Trata y revisa unos conceptos que definen a mi entender la POO.
3:26 en Perú también lo llamamos el caballito
Excelentes clases :D
Excelente clase y tema. Gracias.
Saludos desde Colombia
Llegué más rápido que el profesor Juan haciendo el caballito con su moto jejje.
Excelente la forma en la que explicas. Muchas gracias por brindarnos tus conocimientos.
Fue muy fácil aprender con esa explicación
No lei todos los comentariso, pero en la Argentina andar en dos ruedas lo llamamos "willy", hacer willy es andar con una rueda, bici o moto....saludos y seguimos aprendiendo....GRacias
FASCINADO CON ESTA CLASE.
class te_amo():
Aqui en Republica Dominicana le decimos Calibrar en ves de caballito... Bendiciones Juan! mi tocallo... :D
Gracias profe, jamás me cansaré de agradecerle.
Otra manera de sobrescribir el método estado.
class Moto(Vehiculos):
hCaballito ="";
def caballito(self):
self.hCaballito = "Voy a hacer el caballito"
def estado(self):
Vehiculos.estado(self)
print(self.hCaballito)
Muchas gracias
excelente aporte!!. Gracias!!
que CRACK Gracias totales no sabes cuanto me quebraba la cabeza el bendito SELF ahora entiendo todo.
gracias.....mil gracias.....estoy aprendiendo mucho y me siento niño con juguete nuevo, felicidades mi campeon desde Mexico
3:26 Caballito.. jajajajajaja si mi amigo en Venezuela se conoce así, gracias por tu tiempo al hacer éstos videos. Saludos desde Cabimas Edo. Zulia.
Creo que en Argentina nomás le dicen wheely (Nose como se escribiría eso)
Octubre 2020 y este video esta poderoso .. gracias Maestro por compartir estos conocimientos me han servido mucho para mi y para explicarlo mejor a mis estudiantes... Muchas gracias
Excelente vídeo, bien explicado
Qeu dificil se me ha dado POO, pero siempre hay que seguir adelante, siempre hay un tema que hace que tu cerebro haga Click, y todo se empieza a entender.
gracias crack ojala te herede tanto conocimiento jajaja que grande sos crack gracias por compartir
Hola Juan eres un excelente maestro gracias por compartir tus conocimientos.
muchas gracias por tu comentario y por seguir mis vídeos. Un saludo!!
GRACIAS, CAMBIASTE MIS TARDES.
Juan dejame contarte que sigo mucho de tus cursos que son fantásticos, desde ya déjame agradecerte por ser tan generoso y poner todo tu conocimiento a disposición de los que no tenemos ni idea de como comenzar con esto de la programación, por lo pronto me he encontrado con que si en el ejemplo llamamos al método estado y luego hacemos la llamada al metodo caballito el resultado no es el mismo no se entrega "Voy haciendo Caballito" por lo que he notado que el orden de las llamadas influye y no lograba entender por que no me lo mostraba, Desde ya muchas gracias, Un gran saludos desde Argentina.
Profe muchas gracias por su tiempo y dedicación!
Sensei, gracias por estos cursos
Eres el mejor, gracias por estos videos
Gracias ! Un saludo
¡Eres el mejor Juan! :D
self.te_quiero = True
Otra menera de imprimir mucho más comoda es la siguiente, print(f"texto, y para imprimir variables {variableDeCualquierTipo}, {var1}")
A mí me gusta más esa, así no hay que concatenar todo el rato con las , y el signo de suma +.
gracias,me lo miro varias veces todo esto a ver si se me queda
Me encanto el ejemplo del caballito 😂 espero estes muy bien profe! muchas gracias por todo, tus cursos me han ayudado mucho ❤
Excelente video
Excelente videos profe !!!...
muy facil aprender asi,felicitacion por tu manera de enseñar
Se me complicó un poco pero lo practico y lo estudio lo aprendo rápido profe gracias
Gracias profe, seguimos firmes!!
Muchas gracias, este infierno de cuarentena esta siendo muy formativo
Excelentes Explicacion siga asi, Muchas Gracias, espero apuntarme aun curso tutorizado
EXELENTES los cursos....gracias desde Argentina
15:40 Para mi queda mas estético mandar print en los métodos y no return. Además de esta manera uno ya se olvida de tener que "printear" mas adelante y solo resta llamar al método.Saludos!
En la mayoría de las ocasiones a la hora de programar en Python o cualquier otro lenguaje, necesitarás almacenar en una variable el valor devuelto por una función. Esto solo es posible si la función lleva return. Un saludo!
Al principio pareció complejo pero viendo tus vídeos e visto todo más fácil.
En Colombia decimos hacer "piques" con la moto
Eres un crack, nada mas que añadir.
Grande Juan. Igualmente te quería comentar que noté que cometiste un error. Y es que yo hago caballito con trenes por lo que ese método no es solo de la moto.
Hola, les dejo el código:
class Vehiculos():
def __init__(self, marca, modelo):
self.marca=marca
self.modelo=modelo
self.enmarcha=False
self.acelera=False
self.frena=False
def arrancar(self):
self.enmarcha=True
def acelerar (self):
self.acelera= True
def frenar(self):
self.frena= True
def estado(self):
print(" Marca :", self.marca, "
Modelo: ", self.modelo, "
En Marcha: ",
self.enmarcha, "
Acelerando :", self.acelera, "
Frenado: ", self.frena)
class Furgoneta(Vehiculos):
def carga(self, carga):
self.cargado= carga
if(self.cargado):
return "La furgoneta esta cargada"
else:
return "La furgoneta no esta cargada"
class Moto(Vehiculos):
hcaballito=""
def caballito(self):
self.hcaballito="Voy haciendo el caballito"
def estado(self):
print(" Marca :", self.marca, "
Modelo: ", self.modelo, "
En Marcha: ",
self.enmarcha, "
Acelerando :", self.acelera, "
Frenado: ", self.frena, "
", self.hcaballito)
class VElectricos():
def __init__(self):
self.autonomia=100
def cargarEnergia(self):
self.cargando=True
class BicicletaElectrica(Vehiculos,VElectricos):
pass
miMoto= Moto("Honda", "CBR")
miMoto.caballito()
miMoto.estado()
print("---------------------------------------------------------------------------")
miFurgoneta= Furgoneta("Renault", "Kangoo")
miFurgoneta.arrancar()
miFurgoneta.estado()
print(miFurgoneta.carga(True))
print("---------------------------------------------------------------------------")
miBici=BicicletaElectrica("Orbea", "HC1030")
Very nice
Hola Bro , acá en Colombia la práctica del caballito se le conoce como picar la moto .. saludos ..y gracias por esos vídeos 👌
Agradezco enormemente tu trabajo Juan. Realmente lo aprecio.
Sólo quería hacer un apunte.
Cuando mencionas alrededor del minuto 22:30 la posibilidad de intercambiar
class BiciElectrica(VehElectrico, Vehiculo):
f_bici = BiciElectrica()
por:
class BiciElectrica(Vehiculo, VehElectrico):
f_bici = BiciElectrica("Orbea", "HC1030")
A mi no me funciona. Obtengo el error:
"typeError: Cannot create a consistent method resolution order (MRO) for bases"
Buscando en google parece que cuando se heredan varias clases, se pasa primero la clase hijo y despues la clase padre.
¿A alguien más le ha pasado?
Hola Juan, en inglés caballito sería "power wheelie". Ahí lo dejo como curiosidad.
Gran vídeo, como siempre. Gracias!!!!
Gracias por compartir tus conocimientos han sido de mucha ayuda (Y)
grande, maquina, fiera. number one
oro puro
Gracias por este material!
Muy buena clase!
haha buena la de fast and furious, explica usted bastante bien, muchas gracias
gracias
qué haría en este caso?
Traceback (most recent call last):
File "POO III - Herencia - Tutorial(26).py", line 54, in
miMoto.hcaballito()
TypeError: 'str' object is not callable
pude hacerlo así : class Moto(Vehiculos):
def Caba(self, caballito):
self.hacecaballito = caballito
if self.hacecaballito:
return "Está caballitando en alta menol.."
else:
return "Se cayó de la moto..xd"
miMoto = Moto("Honda","CBR")
print(miMoto.Caba(True))
no puedes escribir " miMoto.hcaballito()" porque "hcaballito" es una variable no un metodo/funcion.
uff FUEGO👍
JAJAJAJAJA yo pensando en el bajo consumo en que solo tiene 2 ruedas... El caballito como característica. BUEN VIDEO MUCHAS GRACIAS!!! Ma estás salvando de la cuarentena
Muy didáctico, gracias de antemano, en el caso de herencia múltiple en el ejemplo de la bicicleta qué valores tomaría inicialmente de vehículos?
good job
Buenas profesor. Lo primero, me gusta mucho como explica todo y sigo de cerca este curso.
Antes de empezar con este curso estuve mirando por mi cuenta sobre el lenguaje de python pero con sus videos lo voy entendiendo mucho mejor. Pero en el video de hoy, me ha surgido una duda, que en otro lenguaje como java, si sé hacer pero en este no he mirado aun como hacerlo. Se trata de a la hora de redefinir un metodo, si quiero reutilizar el codigo de la clase padre, en java usaba super() y a continuacion el codigo que quiero añadir de la clase hija. Python no tiene algo así ?? Supongo que si, pero me gustaria que lo explicases si es posible y así mas gente puede tenerlo en cuenta cuando trabaje con herencia.
Un saludo!
Hola !! Se explica el uso de super() en Python en el curso. No recuerdo en qué vídeo fue en concreto, pero lo expliqué. Quizá en algún vídeo más adelante. Un saludo!!
Como siempre excelentes videos Felicidades!!
si no es mucha molestia podrias mostrar en un siguiente video como llamar a una clase que no se encuentre en el mismo archivo?
saludos desde Mexico
Gracias por el comentario. Lo veremos, pero no en el siguiente vídeo. He de seguir un orden. Un saludo!!
Pongo el código para seguir con el curso:
class Vehiculos():
def __init__(self, marca, modelo):
self.marca=marca
self.modelo=modelo
self.emarcha=False
self.acelera=False
self.frena=False
def arrancar(self):
self.emarcha=True
def acelerar(self):
self.acelera=True
def frenar(self):
self.frena=True
def estado(self):
print ("Marca:", self.marca, "
Modelo:", self.modelo, "
En marcha:", self.emarcha, "
Acelerando:", self.acelera, "
Frenando:", self.frena)
class Furgoneta(Vehiculos):
def carga(self, cargar):
self.cargado=cargar
if(self.cargado):
return "La furgoneta está cargada"
else:
return "La furgoneta no está cargada"
class Moto(Vehiculos):
hcaballito=""
def caballito(self):
self.hcaballito="Voy haciendo caballito"
def estado(self):
print ("Marca:", self.marca, "
Modelo:", self.modelo, "
En marcha:",
self.emarcha, "
Acelerando:", self.acelera, "
Frenando:", self.frena, "
", self.hcaballito)
class VElectricos():
def __init__(self):
self.autonomia=100
def cargaEnergia(self):
self.cargando=True
print("La Moto es:")
miMoto=Moto("Honda", "CBR")
miMoto.caballito()
miMoto.estado()
print("La furgoneta es:")
miFurgoneta=Furgoneta("Citroen", "Jumper")
miFurgoneta.arrancar()
miFurgoneta.estado()
print(miFurgoneta.carga(True))
class BicicletaElectrica(VElectricos,Vehiculos):
pass
miBici=BicicletaElectrica()
Muy bueno lo del caballito en fast and furious ja, ja, ja.
Hola, una pregunta:
Por que es necesario establecer la variable es decir la linea en el comportamiento caballito, en la clase Moto. Pero en la clase VElectricos, en el comportamiento CargarEnergia, no hay que establecer la variable . O en el caso de la clase furgoneta, la variable .
Esa es mi duda.
Finalmente, muchas gracias por el excelente contenido que nos compartes!
Tengo una duda. si se ignora el segundo constructor: Cómo se definen entonces los atributos que hereda de esta clase, si estos se definen en el constructor? Cómo se le introducen la marca y el modelo en este caso específico?
visto el video me surge una duda que no se si será solucionada mas adelante pero aprovecho para preguntar desde ahora, que pasa si a la hora de herencia múltiple la primera clase padre no tiene constructor, hereda la de la segunda?
ejemplo:
class bici_electrica( VElectrico, Vehiculo): si Velectrico no tuviese constructor, la clase hereda automáticamente la de Vehículo o habría que escribirla si o si en primer lugar? (quizá sea poco relevante ya que teniendo eso en cuenta escribiría primero vehículo, pero es solo curiosidad )
Estoy aprendiendo con este curso en 2021, que buen material. Gracias Profe
Miguel Martínez estuvo aquí!!
Consulta :
class BicicletaElectrica(VElectricos, Vehiculos):
miBici=BicicletaElectrica("GT", "Avalanch") (linea 72 del profe)
No me tira el error por mas que cambie de posicion a (VElectricos, Vehiculos) o al reves. Simplemente me pide los 2 parametros en ambos casos, pero una vez puestos, cambiando de lugar VElectricos, Vehiculos o Vehiculos,VElectricos (con valores) no me da error.
Espero haberme explicado bien jaja
Hola, me pasó lo mismo pero en mi caso simplemente no había puesto dos guiones al final de uno de los métodos init sino solo uno. Quizá tengas algún fallo en el código tú también.
Me pasa lo mismo, y revisé el código varias veces, y está tal cual lo han explicado en el video, y aunque aún no lo he investigado, imagino es una mejora o cambios implementados de mismo Python...
Hola Juan, en la linea 27 del minuto 9:10, por qué no se coloca delante self.hcaballito?
Buenas, ¿podrías hacer un vídeo especial hablando sobre cursos donde poder conseguir certificados como programador?. Lo digo porque por lo que veo, ya no vale con que sepas un lenguaje determinado, ahora hay que demostrarlo con certificados.
Hola !! Es mi intención hablar de eso al final de mi curso de Java. Quizás lo haga en el resto de los cursos también. De todas formas un par de cosas al respecto: 1. Es una información que tenéis disponible si introducís en google "certificación Microsoft", "certificación Java" o la tecnología que sea, bastante bien explicada sobre todo en las páginas oficiales del fabricante de turno.
2. Yo recomiendo que si se tiene la posibilidad de obtener una certificación oficial no lo dudéis. Abre puertas y facilita el acceso a trabajos de desarrollador. Pero también os digo que es posible encontrar trabajo de programador sin tener certificación. Un saludo!!
Ok Maestro. Sí, sé a lo que te refieres, pero en España, todavía tenemos el síndrome de la titulitis... Saludos!.
Claro que si... ponte en manos de un "doctor" sin estudios... pero que haya leido mucho sobre medicina... igual sales vivo
O deja que tu casa la haga un constructor sin estudios pero que sepa usar muy bien el AutoCad...¿Te atreverias?
Bien fácil, acá en México, haz un diploma que diga que eres programador, de una Escuela, Instituto o Academia de otra ciudad, y luego demuestras que si sabes programar.
Pero es muy diferente tener un certificado de el desarrollador en turno como dice el profe, por ejemplo un certificado de Java por parte de Oracle, abre muchas puertas.
Hola! Puede ser que exista un error en el video?
En el video aparece
class VElectricos():
def__init__(self):
Pero podría que ser que en realidad es
class VElectricos():
def(ESPACIO)__init__(self):
def __init__(self)
Saludos
Estoy de acuerdo, ya que me dice error de sintaxis si no hago ese espacio.
Si, lo hice con espacio y no tuve problemas.
es correcto , me sucedio lo mismo y desconozco por que a el si le funciono....muchas gracias mi campeon por la solucion
Yee me salvaste
Sos un genio 👏👏
Acá en mi país, hacer caballito se dice hacer Willy, no me preguntes porque, por qué no lo sé...😂
Despues de 3-4 dias de verme este curso del primer al ultimo video me va a costar seguirlo con tanta poca frecuencia ahora jaja
Tengo una duda. si se le da la prioridad al primero constructor en la herencia múltiple, que pasa con el segundo constructor? se ignora por completo? en este caso sería una bici eléctrica sin modelo ni marca?
Un saludo y excelentes videos.
Sí, se ignora por completo. Lo que habría que seguir haciendo es mejorar el constructor propio de la clase VElectricos para que permita tener marca y modelo (si así lo deseamos). Un saludo!!
Algo asi?:
class VElectricos(Vehiculos):
def __init__(self,marca, modelo):
Vehiculos.__init__(self,marca,modelo)
self.autonomia=100
def cargarEnergia(self):
self.cargando=True
class biciElectrica(VElectricos,Moto):
pass
miBici=biciElectrica("Rapidakar","Scooter")
Este método de POO sigue funcionando en 2020? o a cambiado algo en la sintaxis respecto a las funciones ? porqué he visto que algunas veces por encima de las funciones utilizan @ property y me confunde un poco eso. :D PD: gracias por los cursos , muy buena explicación
Y al final en el objeto bicicleta, si llegásemos a pedir su estado, no marcará error por no pasar datos a marca y modelo??? O cómo se solucionaría ese error??
excelente papa
Primero muchas gracias por el curso, excelente manera de enseñar.
Por otro lado tengo dos preguntas, ¿Hasta de cuantas clases puedo heredar?
¿Puedo heredar de una subclase, es decir de una clase que ya hereda de otra?
por ejemplo biciElectrica podría heredar de Moto?
Que yo sepa no hay límite. Y sí puedes heredar de una clase que a su vez hereda de otra, esto es lo que se conoce como herencia en casacada. Un saludo!
@@pildorasinformaticas muchísimas gracias, la verdad estoy encantado con todos sus cursos de programación, gracias por todo el contenido impartido, saludos
Muy buenos videos, he aprendido bastante. tengo una duda, en la clase furgoneta crea un método llamado 'carga' utiliza la variable 'cargado' pero no lo declara antes, entonces se puede poner en esa.parte variables no definida antes? , Pero porque cuando había creado el método 'caballito' , si necesita declarar la variable 'hcaballito'