POO en Python 02. Métodos especiales👨‍🏫 💻

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 พ.ย. 2024

ความคิดเห็น • 37

  • @MilenaGutierrezRojas
    @MilenaGutierrezRojas 3 หลายเดือนก่อน +1

    que buena pedagogía, muy claro todo. mil gracias.

  • @JoseCastillo-xc3tu
    @JoseCastillo-xc3tu 3 ปีที่แล้ว +10

    Fantástico trabajo de videos. Le agradezco infinitamente sus conocimientos. Tengo un poco más de cincuenta años y ahora tengo la oportunidad de estudiar mi doctorado. Hace tiempo que no programaba... pero usted lo ha echo muy fácil. MIL GRACIAS !!!!!!

  • @alb3rt0_21
    @alb3rt0_21 ปีที่แล้ว +1

    Luego de varios meses/años viendo tutoriales sobre qué son clases a que se refieren como funcionan y en qué podría usarla al fin las he comprendido con tus vídeos, muchas gracias.

  • @rodolfohernandez8336
    @rodolfohernandez8336 2 ปีที่แล้ว

    Excelente clase se aprende fácil y rápido, felicidades!!
    En mi humilde opinión, quedarían mejor los métodos sobrecargados igual a, menor que y mayor que, de la siguiente manera:
    #metodo igual a
    def __eq__(self, b):
    if self.num*b.den == b.num/self.den:
    return True
    else:
    return False
    #metodo mayor que
    def __gt__(self, b):
    if self.num*b.den > b.num/self.den:
    return True
    else:
    return False
    #metodo menor que
    def __lt__(self, b):
    if self.num*b.den < b.num/self.den:
    return True
    else:
    return False
    Para probarlo se ejecuta en el main:
    print ('a es igual a b?: ', a == b)
    print ('a es mayor que b?: ', a > b)
    print ('a es menor que b?: ', a < b)

  • @ciberfix6514
    @ciberfix6514 ปีที่แล้ว

    muy buen trabajo, se entiende muy bien, este codigo le ingrese clases herencias con el uso super, sobrecargar con str y agrege add, qt , mul y sub, pero en la parte de divison trato de usar div y en al llamarlo, marca error ya que no esta dividiendo en la parte de fracciones, todo es multipicacion ..y pues lo deje como metodo normal por que no se puede llamar , de lo demas perfecto e ingrese un menu y pide las fracciones.
    class Calculadora():
    def __init__(self,numerador=0,denominador=1):
    if isinstance (numerador,int):
    self.numerador=numerador
    else:
    self.numerador=0

    if isinstance(denominador,int):
    self.denominador=denominador
    else:
    self.denominador=1

    # def __del__():#destructor en base de datos
    # pass

    def __str__(self):
    return "("+str (self.numerador) +"/"+str(self.denominador) +")"
    class Op_Basicas(Calculadora):
    def __init__(self, numerador, denominador):
    super().__init__(numerador, denominador)

    def __str__(self):
    return "("+str (self.numerador) +"/"+str(self.denominador) +")"
    def __mul__(self,b):
    n=self.numerador *b.numerador
    d=self.denominador*b.denominador
    r=Calculadora(n,d)
    return r
    def __add__(self,c):
    n=self.numerador*c.denominador+self.denominador*c.numerador
    d=self.denominador*c.denominador
    r=Calculadora(n,d)
    return r
    def __sub__(self,b):
    n=self.numerador*b.denominador-self.denominador*b.numerador
    d=self.denominador*b.denominador
    r=Calculadora(n,d)
    return r
    def division(self,obj):
    n=self.numerador*obj.denominador
    d=self.denominador*obj.numerador
    x=Calculadora(n,d)
    return x
    def __eq__(self,b):
    if self.numerador / self.denominador == b.numerador / b.denominador:
    return True
    else:
    return False


    def main():
    Presentacion='''*******Calculadora de 2 Fracciones********

    Ingresa lo que se te pida:

    '''
    print(Presentacion)

    menu='''
    \t***M e n u

    1)Suma
    2)Resta
    3)Multiplicacion
    4)Division
    5)Comparar si son iguales
    6)Salir
    '''
    while True:
    print(menu)
    op=int(input('Elige una opcion: ' ))
    num1=int(input('

    Ingresa el Numerador 1: '))
    den1=int(input('ingresa el denominador 1: '))
    a=Op_Basicas(num1,den1)
    print(a)


    num2=int(input('Ingresa el Numerador 2: '))
    den2=int(input('ingresa el denominador 2: '))
    b=Op_Basicas(num2,den2)
    print(b)


    print("

    ")

    if op==1:
    print(a)
    print(b)
    print("+_______________")
    r=a+b
    print(r)
    elif op==2:
    print(a)
    print(b)
    print("-_______________")
    r=a-b
    print(r)
    elif op==3:
    print(a)
    print(b)
    print("x_______________")
    r=a*b
    print(r)
    elif op==4:
    print(a)
    print(b)
    print("/_______________")
    r=a.division(b)
    print(r)
    elif op==5:
    print(a)
    print(b)
    print("_______________")
    r= (a==b)
    if r== True:
    print('Son Equivalentes')
    else:
    print('No lo son')


    else:

    break

    print("

    ")

    if __name__=="__main__":
    main()

  • @David-cg6ew
    @David-cg6ew 3 ปีที่แล้ว +1

    Eres un crack, recién que logro entender ... después de buscar en muchos lados, Saludos!.

  • @JoseLuisTabaraCarbajo
    @JoseLuisTabaraCarbajo 3 ปีที่แล้ว +3

    Excelente vídeo. Muy bien acompañada la teoría con la práctica. En general yo para el método __str__() prefiero usar f-string en vez de la concatenación de cadenas.

  • @eduardorivas6959
    @eduardorivas6959 10 หลายเดือนก่อน

    Bien detallado.
    Muchas gracias.

  • @joel_diaz
    @joel_diaz 3 ปีที่แล้ว +1

    Eres el mejor!!!!! Gracias por compartir tus valiosos conocimientos.

    •  3 ปีที่แล้ว +1

      Gracias a ti

  • @123demondark
    @123demondark 2 ปีที่แล้ว

    Muchas gracias solo vi dos videos de POO y al fin lo comprendo, muchas gracias esa forma de explicar es maravilloso!

  • @carloschess2010
    @carloschess2010 3 ปีที่แล้ว

    Un avance fundamental en lo hasta ahora visto en este tipo de clases. Claro y oreciso y a la médula. Se agradece y SALUD!!!

  • @jogicoRobles
    @jogicoRobles 2 ปีที่แล้ว

    Excelentes videos de esta serie saludos muy buen didáctica

  • @charliedumac9698
    @charliedumac9698 3 ปีที่แล้ว

    Execelente. Muchas gracias por tu trabajo.

  • @luiccini
    @luiccini 3 ปีที่แล้ว

    Excelente contenido, llevo bastante programando en python y nunca había entendido al 100 la abstracción de clases.

  • @luismiguel7054
    @luismiguel7054 4 ปีที่แล้ว +1

    gracias por el tiempo y por compartir conocimiento

  • @wladimirdelacruz
    @wladimirdelacruz 4 ปีที่แล้ว +2

    Gracias Compadres, EXCELENTE!!!

  • @mayraalejandra4246
    @mayraalejandra4246 3 ปีที่แล้ว

    muy útiles sus enseñanzas, graciassss

  • @carlosasuajesequera938
    @carlosasuajesequera938 3 ปีที่แล้ว

    Excelentes videos. Muchas gracias.

  • @danielsaulvergarachamaidan5622
    @danielsaulvergarachamaidan5622 2 ปีที่แล้ว

    Gracias infinitamente explicas muy bien haces un gran trabajo sigue adelante :3

  • @braymchavez9400
    @braymchavez9400 4 ปีที่แล้ว +1

    Para los que quieran hacer la división deben usar ´def __truediv__(self, b):´ y realizan el algoritmo de la división

    •  4 ปีที่แล้ว +2

      Así es, muchas gracias, viene en el siguiente video

  • @ProfeSergioDanielRomero
    @ProfeSergioDanielRomero 2 ปีที่แล้ว

    ¡Excelente video y trabajo! - Tus videos son muy útiles. ¡Gracias por compartirlos!.
    Nota: en el minuto 19:20 hay pequeño error de codificación del video y el audio se escucha muy acelerado.

  • @gersoncq1558
    @gersoncq1558 4 ปีที่แล้ว

    bien explicado!! gracias

  • @luiscarlostrotta8119
    @luiscarlostrotta8119 3 ปีที่แล้ว

    Consulta, como puedo depurar en Visual Estudio Code, intento hacerlo con los break poin , pero no logro que funcione bien la barra de herramientas del debug, probé reinstalano Visual y lo mismo. Probé con Spyder y allí si logro realizar una buena depuración. Pero me gustaría saber porque no funciona en Visual. Puedes por favor hacer un video sobre el tema, ya que en la medida que se pone mas compleja la programación, es interesante poder aprovechar al máximo esa herramienta. Muchas gracias, muy buena la explicación!!!!

  • @KelvinMontero
    @KelvinMontero 4 ปีที่แล้ว

    MUY BUENOS VÍDEOS

  • @marcelonicolasbrandan3515
    @marcelonicolasbrandan3515 3 ปีที่แล้ว

    Muy buenos videos. Consulta, cuando quiero ejecutar el codigo en la terminal no me devuelve nada, tengo que activar algo para que me corra los tipo class? Con otro tipo de codigos anda bien

  • @zineddineacademy6956
    @zineddineacademy6956 4 ปีที่แล้ว +1

    great

  • @emiliorambaldi2894
    @emiliorambaldi2894 2 ปีที่แล้ว

    Como se puede hacer un arreglo de ventanas, o de botones o de etiquetas?
    Por ejemplo:
    ventana_principal (0)
    ventana_principal (1)
    ventana_principal (2)

  • @jonathanfranciscosegura9788
    @jonathanfranciscosegura9788 2 ปีที่แล้ว

    acabo de probar el metodo __div__ y me tiraba error en su lugar use el metodo __truediv__
    Se debe a algo en particular ?.
    Gracias por los videos.

  • @diegoarmandoramoscondori4928
    @diegoarmandoramoscondori4928 3 ปีที่แล้ว

    muy buen video muchas gracias, pero tengo una duda en la parte de destructores, Cundo el puntero "a" referencia a otro objeto, el objeto anterior es eliminado() siempre y cuando se utilice el destructor, si no se utiliza el destructor, ¿el objeto anterior sigue existiendo?

    •  3 ปีที่แล้ว

      No entiendo tu pregunta

    • @alb3rt0_21
      @alb3rt0_21 ปีที่แล้ว

      Supongo que una variable ejecuta el destructor si las sobreescribes en su propio ambito

  • @emiliorambaldi2894
    @emiliorambaldi2894 2 ปีที่แล้ว

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

  • @Qdbp-sh5ti
    @Qdbp-sh5ti ปีที่แล้ว

    odio que use el light theme y fotos con fondo blanco xd

  • @erremazo
    @erremazo 3 ปีที่แล้ว

    Excelente trabajo. Mil gracias