POO en Python 03. Herencia👨‍🏫 💻

Sdílet
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

Komentáře • 15

  • @carloschess2010
    @carloschess2010 Před 3 lety +8

    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!!!

  • @sebasns2444
    @sebasns2444 Před 2 lety

    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!!

  • @sebasns2444
    @sebasns2444 Před rokem

    Que excelente su ejemplo profesor, anteriormente habia visto su video pero ahora lo he vuelto a ver y he comprendido aun mejor todo jaja.

  • @peralser
    @peralser Před rokem

    Excelente la serie de videos de POO..Gracias por armarlo y compartirlo.

  • @SergioLopez-kl5hc
    @SergioLopez-kl5hc Před 2 lety

    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

  • @mhdez23
    @mhdez23 Před rokem

    Muchísimas Gracias! Por su dedicación para hacer estos vídeos.. son excelentes..

  • @carlosgerardoarevalo3416

    Excelente videos ayudan a entender un poco más de cómo funciona las clases!

  • @carloseduardogomezlozano491

    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.

  • @luisandraschnik3001
    @luisandraschnik3001 Před 4 lety +1

    Super por fin lo entendí Super bien

  • @julianguillermozapatarugel3745

    Buen video!
    Saludos

  • @franzg.trujillanoch.8912

    adoro programar python 😅😅😅😅

  • @jonathanfranciscosegura9788

    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 ?

  • @emiliorambaldi2894
    @emiliorambaldi2894 Před 2 lety

    Alguien me puede decir como puedo imprimir el texto que se encuentra en un botón?
    Gracias.

  • @raquelprivado4334
    @raquelprivado4334 Před 3 lety +1

    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.

    • @ever174321
      @ever174321 Před 2 lety

      Para sobrecargar la división en Python 3, es con __truediv__