El MÉTODO __init__ y SELF - Curso desde cero Programación Orientada a Objetos Python - Capítulo 3

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

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

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

    Exelente...El que no entienda con esta explicacion que cambie de profesion...Gracias

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

      ¡Muchas gracias! :D Perdón por no responder antes, entre el lío que llevo, no me da para contestaros a todos. ¡Saludos!

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

    Eres buenísimo tío, no cualquiera posee esas habilidades pedagógicas. Pareces llevar un seguimiento mental de forma natural de cuales son los puntos débiles, a la hora de afrontar los problemas, por parte de tus alumnos, y te adelantas con las explicaciones.

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

      Wow es un halago. Muchas gracias, intento hacer lo que creo que me hubiese venido mejor a la hora de aprender. Por otro lado, explicar las cosas con ejemplos es imprescindible para entender cualquier cosa. ¡Un saludo! 😄

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

      @@ProgramacionFacilYT Gracias por aportar de esa manera a la comunidad. A darle caña !!

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

      A darle caña!!! 💪

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

    tio.... no se porque no encontre tu canal antes.... ENHORABUENA POR ESTOS VIDEOS!!!!!

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

    No es tan difícil explicar las cosas bien, joder!!. Que buena explicación, muchas gracias por eso.

  • @jimenavarromunoz2842
    @jimenavarromunoz2842 4 ปีที่แล้ว +13

    Excelente, muchas gracias!!!! estoy en un curso y no entendía mucho, gracias, excelente explicación y súper didáctico!!!!!! 🥰

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

      Muchas gracias, me alegro que te haya servido. ¡Saludos!

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

    Magnífica explicación del init y el self. Muchísimas gracias

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

    Mil gracias, hermano. Estoy tomando un curso de estadística computacional con Python y no entendía nada de esto. Explicas super bien.

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

      ¡Muchas gracias! Me alegra que te sirva. Espero que puedas aprenderlo así con más ganas.

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

      si explicas muy bien ! Gracias

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

      ¡Gracias! 😃

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

      @@ProgramacionFacilYT He aprendido mucho con tus videos. Tienes un canal especifico para compartir, hacer preguntas como Discord o tu propia pagina? Gracias por los videos.

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

      Hola, no tengo, casi ni me da para dedicarme a TH-cam. Si tienes alguna duda relacionada con el capítulo déjame un comentario aquí o en mi sitio web. Si tienes alguna sugerencia para que haga un vídeo o curso sobre un tema en específico, también me lo puedes decir por aquí. No siempre puedo contestarlo todo, pero lo intento. ¡Saludos!

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

    La verdad estoy estudiando programación me pierdo mucho en algunas cosas pero con videos así sinceramente se puede entender mucho

  • @TheJova9999
    @TheJova9999 4 หลายเดือนก่อน

    Explicaste este tema de manera magistral, felicidades!

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

    Lo explicaste genial amigo, lo haces ver fácil cuando es un tema complicado digamos. Excelente explicación genio!

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

      Hola amigo. Me alegro que te sirva. Muchas gracias por tu comentario 😄. ¡Saludos!

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

    exelente tu forma de explicar las cosas, gracias

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

    gracias a tus videos en la uni he podido sacar muy buenas calificaciones incluso en ocasiones la nota mas alta... gracias por tanto sigue asi

  • @danogames8308
    @danogames8308 7 หลายเดือนก่อน +2

    este tipo me explico en 15 minutos lo que mi decano no pudo en 3 horas

  • @SalmonAhumado
    @SalmonAhumado 11 หลายเดือนก่อน +1

    Muchísimas gracias, muy buena explicación, voy a guardar tu curso entero para verlo

    • @ProgramacionFacilYT
      @ProgramacionFacilYT  11 หลายเดือนก่อน

      ¡Un placer! Si te gusta después de verlo, te recomiendo mi nuevo curso de programación orientada a objetos, con Python. Saldrá el mes que viene y tendrá mucho más que este.
      ¡Un saludo!

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

    No le veía el sentido el uso de los constructores :1 y busque varios videos y nada. Al fin lo he comprendido :,) gracias. Nuevo sub.

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

      Me alegro de que lo hayas entendido 😁 un saludo y gracias por la sub.

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

    WOW tanto tiempo sin saber porque lo escribia jaja MUCHAS GRACIAS POR TU TIEMPO Y ESFUERZO, La explicacion es buenisima

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

      Jeje, suele pasar hay cosas que las hacemos repetidamente en programación y si no se indaga un poco no sabe uno porqué. Me alegro que te sirviera y muchas gracias por dejarme un comentario. ¡Saludos!

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

    Excelente explicación. Al fin entiendo lo que hace el constructor.♥ Gracias

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

    Que excelente video. Muchísimas gracias !!!

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

    excelente explicación, me estaba confundiendo mucho el self y el innit, pero termina siendo bastante fácil, incluso más sencillo que en java

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

    Gracias, ahora entendí. Muy buen ejemplo.

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

    que buena explicacion!!! millones de gracias

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

    Muy bien explicado. Me ha sido de gran ayuda

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

    explicar así de bien no es normal. muchas gracias machoo

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

    Excelente. Muchas gracias.

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

    Excelente explicación, gracias por el video!

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

    Gracias, por el video, muy interesante, gracias!!

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

    Monstruo de profesor 🎉mejor que otros que te escupen muchos conceptos

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

    muy buen video, explicas desde 0 para todo el publico, super bueno

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

    muy entendible y gracias

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

    Amo tus videos voy a seguir tu curso

  • @ShadowAYT
    @ShadowAYT 2 หลายเดือนก่อน +1

    Las class es muy diferente que en c++, esta muy buena la explicación

  • @izrael-wp5wq
    @izrael-wp5wq 3 ปีที่แล้ว +3

    no lo entendía bien, pero ya lo entiendo mejor gracias.

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

      ¡Me alegro! Gracias por comentar 😄. ¡Un saludo!

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

    Muy bien detallado.Gracias

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

    gracias carnal, no lo habia entendido en un libro

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

      ¡De nada! Si te sirvió, perfecto. ¡saludos carnal!

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

    Muy curioso el detalle de poder declarar un atributo fuera de la declaración de la clase. La verdad que ofrece una flexibilidad muy importante, cosa que en otros lenguajes como C++ es impensable.
    Lo bueno, es que si necesitas un atributo que se te haya ocurrido para algo del programa, poder instanciarlo del tirón.
    Nuevamente, enhorabuena por los vídeos My Friend ;) un abrazote.

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

      Sí, la flexibilidad es creo yo lo más característico de Python. Muchas gracias por tus comentarios. Otro abrazo para tí. Saludos :)

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

      Programación Fácil la verdad es que cuanto más voy aprendiendo, más me voy sorprendiendo de la enorme flexibilidad de Python.... Mola 😉

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

    Hermano, es buenísima tu explicación! Soy re novata, pero si es por entender, entendí todo 🤣

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

      Muchas gracias por tu comentario, me alegro qué te sirva ¡Saludos!

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

    es posible instanciar una clase dentro de una funcion?, si lo es como se haria?

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

    hola intento duplicar m menú pero no me sale segun yo es y ya menu = move(master)
    tambien intente self pero no se que se hace en frame.pack() y scale.grid(row=0)
    class move:
    def __init__(self, master):
    frame = Frame(master)
    frame.pack()
    scale = Scale(frame, from_=0, to=180,orient=HORIZONTAL)
    scale.grid(row=0)
    #Aqui para el doble
    menu = move(master)

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

    Muy buen te felicito

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

    hola, y si quiero crear un nuevo atributo fuera de la clase al cual le asigne un valor, por ejemplo nº de armas, como haría para que este se incluya como parámetro.?De antemano gracias por la respuesta y gracias por subir videos sobre POO en python

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

      Esto lo podrías hacer utilizando *args y **kwargs para no definir de entrada los parámetros obligatorios, es decir, que se incluyan los que vayas especificando cuándo quieras.
      Lo tengo explicado aquí con las funciones: *args: th-cam.com/video/l0zfIhXcN94/w-d-xo.html **kwargs: bit.ly/36vEGu1
      Lo puedes ir viendo para ir adelantando, pero no te preocupes mucho, ya que voy a incluir esto en el curso.
      Por cierto, gracias a tí por comentar y ver los vídeos. ¡Saludos!

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

      @@ProgramacionFacilYT gracias los ire viendo y en un futro espero lo complementes en el curso.Gracias por la respuesta.

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

    PFFF explicas demasiado biennnn!

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

    Muy buena explicacion

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

      ¡Muchas gracias!

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

      Desde República Dominicana en verdad quiero aprender a programar siempre ha sido mi sueño pero por falta de explicación clara me desanimo y en verdad contigo he entendido perfectamente

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

      Espero seguir ayudándote con mis vídeos, es genial que te sivan. ¡Saludos!😁

  • @marvin.delsart
    @marvin.delsart 2 ปีที่แล้ว +1

    Gracias!

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

    mejor explicado imposible!

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

    Buenísimo!

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

    comprendo el tema bien aunque aun creo que me falta un detonante para que sea mi centro de atención en la programación gracias por el video :)

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

    Muy buena explicación! Una pregunta, como gestionaríamos el _init_ para atributos que provienen de un diccionario que has definido previamente?

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

    por fin entendí, gracias

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

    gracias!

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

    Me quede pensando como agregaste ninja.salto = True y por que no lo agregaste dentro del parametro def.

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

    explicación óptima!

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

    Excelente!

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

    Buenos días, esos son los únicas formas de usar el "self" en Python?

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

    Bro una consulta en java seria totalmente igual lo digo porque en java he visto constructores vacios y con parametros me podrias orientar gracias

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

      No tengo Java muy fresco ahora mismo, por lo que he buscado un poco de información sobre el tema. Quizás podría servirte esto de aquí: www.it-swarm-es.com/es/java/diferencia-entre-python-self-y-java/1045346489/

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

    Tengo la duda de porque usar una class en vez de la función que retornaria los valores y ya?

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

      Las clases sirven para poder generar tantos objetos como quieras. Se establecen unas características generales a partir de las cuales se crean objetos que pueden tener diferencia unos de otros. Por ejemplo, los NPC de un juego como GTA. Todos son parecidos, pero hay variaciones entre la ropa, la masa corporal, el pelo, etc. Las funciones no pueden hacer todo eso.

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

      @@ProgramacionFacilYT ya entiendo, una función retorna lo mismo siempre, una clase puede retornar múltiples datos, permitiendo tener variaciones

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

    Haces honor al nombre de tu canal jaja
    Muy buenos cursos!.

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

      Jajaja, muchas gracias me alegro que así sea y que aprendáis mucho. ¡Saludos!

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

    Creo que olvidaste decir en tu video que el __init__ y el self son necesarios porque no se puede pasar parametros a una clase de la misma manera en la que se los pasamos a una funcion. Por ejemplo, el codigo a continuación daría un error NameError: name 'a' is not defined, ya que es necesario usar self para pasar los parametros a una clase.
    class Tango(a, b):
    bailar = a
    pasos = b

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

    Buen tutorial.

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

    excelente video .una pregunta como se llama el editor que usaste paychart?(es bastante amigable ) .

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

      Hola, si es PyCharm, aquí tienes la página oficial de descarga www.jetbrains.com/es-es/pycharm/

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

      @@ProgramacionFacilYT gracias, te ganaste un suscriptor mas🙂

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

      Muchas gracias, 😄 ¡Saludos!

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

    Pero entonces puedo tener 3 selfs simultáneos?

  • @JorgeVídeos
    @JorgeVídeos 2 ปีที่แล้ว

    por què a veces se usa el return y a veces no como en este vìdeo, ? eso me tiene un poco confundido, he visto muchos vìdeos que enseñan las funciones dicendo que hay que colocarlo siempre porque la funciòn siempre tiene que devolver algo.

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

    Muy buena explicacion, he visto varios de tus videos acerca del __init__ y self, pero aun tengo una duda que me rompe la cabeza, supongamos que tengo este trozo de codigo:
    class User:
    def __init__(self, username, id):
    self.usern = username
    self.id = id
    self.followers = 0
    self.followings = 0
    def follow(self, user):
    user.followers += 1
    self.followings += 1
    user_1 = User("toni", "1234")
    user_2 = User("ninja", "5678")
    user_1.follow(user_2)
    print(user_1.followers)
    print(user_1.followings)
    print(user_2.followers)
    print(user_2.followings)
    por que el print seria:
    0
    1
    1
    0
    SI en la funcion: def follow(self, user) dice primero que user.followers aumenta 1 pero luego dice self followings aumenta 1... por que no dice self en las dos? espero tu respuesta, muchas gracias

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

    gracias crak!

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

    grax

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

    Vale pero ese "true" existe dentro de "class" o de "def __init__()" si me lo explicas estaria muy agradecido

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

      Si te refieres al true del atributo salto, pertenece solo al objeto, es una propiedad de él, y puesto que el __init__() está dentro de la clase, no se almacena ahí ni dentro de la clase, ya que cualquier otro objeto que crees, no va a tener este atributo, demostrando, que sólo existe en el propio objeto.

  • @eldecloud
    @eldecloud 4 หลายเดือนก่อน

    Mil likes!!

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

    sigo sin entender para que sirve el self

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

    Se podria definir los valores de los Objetos en funcion a los valores de los parametros de la Clase ? es decir...
    ninja.hp = 100
    ninja_enemigo.hp = 80% * ninja.hp
    usando los pases de parametros usando __init__ y self ?

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

    atrasado, mas firme aqui

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

    La verdad no entendi muy Bien el Metodo init

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

      Hola, básicamente, para que lo entiendas quizás más fácil, el método init son los atributos iniciales que va a poseer cualquier objeto que crees de esa clase. Por ejemplo, en un juego, tienes un personaje principal y creas una clase para definir ese personaje. En el método init, le puedes poner los puntos de vida, la velocidad, los poderes que tenga,etc.
      Por si no entendiste lo del self, piensa en que cada vez que escribes el self de una variable, en realidad es como poner nombre_clase.variable y en lugar de estar repitiendo cada vez el nombre de la clase, en Python se pone self.
      Espero que te sirva, pero si te quedan más dudas con lo mismo, ya sabes dónde estoy (aunque no siempre podré contestar tan rápido jajaja). Saludos y espero que con esto puedas seguir aprendiendo.

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

    Excelente explicación, justo lo que necesito para aprender lo que siempre se me dificultó en POO. Nuevo suscriptor. 👏

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

    Hola, con la programación exactamente igual y en Pychart me sale error ¿Por qué motivo?:
    class NinjaPrincipal:
    def ___init___(self,hp,resistencia,xp,vidas):
    self.hp = hp
    self.resistencia = resistencia
    self.xp = xp
    self.vidas = vidas
    def gameOver(self):
    print('gameOver')
    Ninja = NinjaPrincipal(100,50,1,1)
    NinjaEnemigo = Ninjas(25,10,1,1)
    print(NinjaEnemigo.resistencia)
    -------------------------------------------------------------
    Traceback (most recent call last):
    File "C:\Users\ll.....\PycharmProjects\pythonProject\Prueba.py", line 11, in
    Ninja = NinjaPrincipal(100,50,1,1)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    TypeError: NinjaPrincipal() takes no arguments

  • @GabrielJaén-u4c
    @GabrielJaén-u4c 10 หลายเดือนก่อน

    class InteligenciaServicial:
    def __init__(self, nombre):
    self.nombre = nombre
    def saludar(self):
    return f"Hola, soy {self.nombre}. ¿En qué puedo ayudarte hoy?"
    def realizar_tarea(self, tarea):
    return f"Realizando la tarea: {tarea}. ¿Necesitas algo más?"
    # Crear una instancia de la inteligencia servicial
    mi_inteligencia = InteligenciaServicial("Asistente")
    # Ejemplo de uso
    print(mi_inteligencia.saludar())
    print(mi_inteligencia.realizar_tarea("Buscar información"))