POO en Python 03. Herencia👨🏫 💻
Vložit
- čas přidán 7. 06. 2020
- En este video sobre programación orientada a objetos POO en Python, se explica a detalle el tema de Herencia entre clases, clases base, clases derivadas, herencia múltiple, acceso mediante super() y los métodos isinstance y issubclass
_____________________________________________________________
Lista de reproducción Programación en Python:
• Python
Código:
github.com/juarezefren/mecatr...
Materiales:
github.com/juarezefren/mecatr...
Instala Python y PyCharm
• 🔺 Como INSTALAR Python...
Instala Python y Visual Studio Code
• 🔺 Como INSTALAR PYTHON...
_______________________________________________________________________________________________
La mejor Laptop Lenovo 👉 amzn.to/37KFaOJ
Ratón y Teclado Inalámbricos 👉 amzn.to/2ZOP0Li
Ratón Inalámbrico Ergonómico 👉 amzn.to/3aSpifm
Xiaomi Mi Smart Band 5 👉 amzn.to/38zIuga
Bocina inteligente con Alexa 👉 amzn.to/30E8936
Amazon Smart Plug (Contacto/enchufe inteligente) compatible con Alexa 👉 amzn.to/30CD3Zp
_______________________________________________________________________________________________
para mas contenido :
🚀🧰 Canal de CZcams: 👉 bit.ly/3iwlXVh
👣 ✈️ Canal en Telegram: 👉 bit.ly/3oXowlM
📰📱Página de Facebook: 👉 bit.ly/3qzg24O
👨 🏫 💻 Programación en Español: 👉 bit.ly/2Bt7aJQ
Efrén Juárez
#TurboCodigo
#ProgramacionEnEspañol - Věda a technologie
A todos los profesores que hacen estas clases magistrales gratuitas con tanta pedagogía y carño les agradezco su gratuidad. Es así como yo tb lo hago en mi profesión. Muchas gracias y SALUD!!!
Muchas gracias por tus videos, he logrado comprender el lenguaje Python gracias a tus videos. Gracias por explicar tan bien, espero la vida te devuelva con creces lo que haces!!
Que excelente su ejemplo profesor, anteriormente habia visto su video pero ahora lo he vuelto a ver y he comprendido aun mejor todo jaja.
Excelente la serie de videos de POO..Gracias por armarlo y compartirlo.
Gracias a estos videos he podido entender un poco más las clases y objetos, llevaba un curso en Udemy sobre Python pero no entendía muchas cosas, gracias @Turbo Código por este aporte! :D
Muchísimas Gracias! Por su dedicación para hacer estos vídeos.. son excelentes..
Excelente videos ayudan a entender un poco más de cómo funciona las clases!
que bien 'Turbo Codigo?. Tiene ejemplos de una linea de codigo (one-liner), mejores practicas de escribir el codigo, la utilizacion de librerias: pyqt6, kiwi, bases de datos con varias tablas. Gracias por su dedicación.
Super por fin lo entendí Super bien
Buen video!
Saludos
adoro programar python 😅😅😅😅
Gracias por los videos como siempre. Tengo una duda porque en la parte del constructro de la fraccion si pongo & en vez de and no lo toma como un operador logico ?
Alguien me puede decir como puedo imprimir el texto que se encuentra en un botón?
Gracias.
Hola, le pongo mi código:
ESTAS SERIAN LAS CLASES:
# crea una clase fracciones que reciba un numerador y un denominador.
# esta clase tendrá como métodos las operaciones que se pueden realizar con una fracción
# suma
# resta
# multiplicación
# división
# crea un menú que te pida que operacion quieres realizar.
class Fraccion:
def __init__(self, num, den):
if isinstance(num, int):
self.num = num
else:
self.num = 0
if isinstance(den, int) and den != 0:
self.den = den
else:
self.den = 1
def __mul__(self, b):
n = self.num * b.num
d = self.den * b.den
r = Fraccion(n, d)
r.simplifica()
return r
def division(self, b):
n = self.num * b.den
d = self.den * b.num
r = Fraccion(n, d)
r.simplifica()
return r
def __add__(self, b):
if self.den == b.den:
n = self.num + b.num
d = self.den
r = Fraccion(n, d)
r.simplifica()
return r
else:
n = (self.num * b.den) + (self.den * b.num)
d = self.den * b.den
r = Fraccion(n, d)
r.simplifica()
return r
def __sub__(self, b):
if self.den == b.den:
n = self.num - b.num
d = self.den
r = Fraccion(n, d)
r.simplifica()
return r
else:
n = (self.num * b.den) - (self.den * b.num)
d = self.den * b.den
r = Fraccion(n, d)
r.simplifica()
return r
def __eq__(self, b):
if self.num / self.den == b.num / b.den:
return "Son equivalentes"
else:
return "No son equivalentes"
def __str__(self):
return "{" + str(self.num) + "/" + str(self.den) + "}"
def mcd(self, a, b):
if b == 0:
return a
else:
return self.mcd(b, a % b)
def simplifica(self):
d = self.mcd(self.num, self.den)
self.num = int(self.num / d)
self.den = int(self.den / d)
# creo una nueva clase para fracciones mixtas que hereda de Fracción
class FracMix(Fraccion):
def __init__(self, ent, num, den):
self.ent = ent
super().__init__(num, den)
self.simplifica()
super().simplifica()
def __str__(self):
return str(self.ent) + super().__str__()
def simplifica(self):
if self.num > self.den:
aux = self.num // self.den
self.ent = self.ent + aux
self.num -= (aux * self.den)
def __add__(self, obj):
ent = self.ent + obj.ent
f = super().__add__(obj)
r = FracMix(ent, f.num, f.den)
return r
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ESTE EL ARCHIVO MAIN
# importo clases fracciones
from clase_fracciones import*
menu = "Menu:
" \
"0 ---> Sumar
" \
"1 ---> Restar
" \
"2 ---> Multiplicar
" \
"3 ---> Dividir
" \
"Cualquier otro caracter" \
"para SALIR
"
while True:
print(menu)
op = input("Introduce una opción >>>> ")
print()
try:
ent1 = int(input("Introduce un numero entero: "))
num1 = int(input("Introducer el numerador de la primera fracción: "))
den1 = int(input("Introducer el denominador de la primera fracción: "))
except ValueError:
print("Algo has hecho mal, vuelve a intentarlo")
continue
try:
ent2 = int(input("Introduce un numero entero: "))
num2 = int(input("Introducer el numerador de la segunda fracción: "))
den2 = int(input("Introducer el denominador de la segunda fracción: "))
except ValueError:
print("Algo has hecho mal, vuelve a intentarlo")
continue
print()
a = FracMix(ent1, num1, den1)
print(a)
b = FracMix(ent2, num2, den2)
print(b)
print()
res = a == b
print(res)
print()
if op == "0":
res = a + b
print("
El resultado de la suma es:
")
print(res)
print()
elif op == "1":
res = a - b
print("
El resultado de la resta es:
")
print(res)
print()
elif op == "2":
res = a * b
print("
El resultado de la multiplicación es:
")
print(res)
print()
elif op == "3":
res = a.division(b)
print("
El resultado de la división es:
")
print(res)
print()
else:
break
Hay muchas cosas mejorables, como el que después de dar a la opción salir no me vuelva a pedir los diferentes números para realizar las operaciones y una vez introducidos se salga del programa.
Aun estoy pensando como solucionar eso, y que el método división no me deja sobrecargarlo, me da un fallo cuando lo hago, no me reconoce el código.:S
Mil gracias por su tiempo y por compartir sus conocimientos.
Para sobrecargar la división en Python 3, es con __truediv__