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.
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! 😄
@@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.
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!
¡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!
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!
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.
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)
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
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!
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
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/
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.
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
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.
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
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.
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 ?
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.
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
Exelente...El que no entienda con esta explicacion que cambie de profesion...Gracias
¡Muchas gracias! :D Perdón por no responder antes, entre el lío que llevo, no me da para contestaros a todos. ¡Saludos!
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.
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! 😄
@@ProgramacionFacilYT Gracias por aportar de esa manera a la comunidad. A darle caña !!
A darle caña!!! 💪
tio.... no se porque no encontre tu canal antes.... ENHORABUENA POR ESTOS VIDEOS!!!!!
¡Muchas gracias! De verdad. :D
No es tan difícil explicar las cosas bien, joder!!. Que buena explicación, muchas gracias por eso.
Ostia me iré a tomar por 😏
Excelente, muchas gracias!!!! estoy en un curso y no entendía mucho, gracias, excelente explicación y súper didáctico!!!!!! 🥰
Muchas gracias, me alegro que te haya servido. ¡Saludos!
Magnífica explicación del init y el self. Muchísimas gracias
Gracias a tí 😉
Mil gracias, hermano. Estoy tomando un curso de estadística computacional con Python y no entendía nada de esto. Explicas super bien.
¡Muchas gracias! Me alegra que te sirva. Espero que puedas aprenderlo así con más ganas.
si explicas muy bien ! Gracias
¡Gracias! 😃
@@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.
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!
La verdad estoy estudiando programación me pierdo mucho en algunas cosas pero con videos así sinceramente se puede entender mucho
Explicaste este tema de manera magistral, felicidades!
Lo explicaste genial amigo, lo haces ver fácil cuando es un tema complicado digamos. Excelente explicación genio!
Hola amigo. Me alegro que te sirva. Muchas gracias por tu comentario 😄. ¡Saludos!
exelente tu forma de explicar las cosas, gracias
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
este tipo me explico en 15 minutos lo que mi decano no pudo en 3 horas
Muchísimas gracias, muy buena explicación, voy a guardar tu curso entero para verlo
¡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!
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.
Me alegro de que lo hayas entendido 😁 un saludo y gracias por la sub.
WOW tanto tiempo sin saber porque lo escribia jaja MUCHAS GRACIAS POR TU TIEMPO Y ESFUERZO, La explicacion es buenisima
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!
Excelente explicación. Al fin entiendo lo que hace el constructor.♥ Gracias
Que excelente video. Muchísimas gracias !!!
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
Gracias, ahora entendí. Muy buen ejemplo.
que buena explicacion!!! millones de gracias
¡Muchas gracias!
Muy bien explicado. Me ha sido de gran ayuda
explicar así de bien no es normal. muchas gracias machoo
Excelente. Muchas gracias.
Excelente explicación, gracias por el video!
¡Gracias a ti!
Gracias, por el video, muy interesante, gracias!!
¡Muchas gracias!
Monstruo de profesor 🎉mejor que otros que te escupen muchos conceptos
muy buen video, explicas desde 0 para todo el publico, super bueno
¡Muchas gracias!
muy entendible y gracias
Amo tus videos voy a seguir tu curso
¡Muchas gracias! Espero que aprendas mucho.
Las class es muy diferente que en c++, esta muy buena la explicación
no lo entendía bien, pero ya lo entiendo mejor gracias.
¡Me alegro! Gracias por comentar 😄. ¡Un saludo!
Muy bien detallado.Gracias
Hola, ¡muchas gracias!
gracias carnal, no lo habia entendido en un libro
¡De nada! Si te sirvió, perfecto. ¡saludos carnal!
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.
Sí, la flexibilidad es creo yo lo más característico de Python. Muchas gracias por tus comentarios. Otro abrazo para tí. Saludos :)
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 😉
Hermano, es buenísima tu explicación! Soy re novata, pero si es por entender, entendí todo 🤣
Muchas gracias por tu comentario, me alegro qué te sirva ¡Saludos!
es posible instanciar una clase dentro de una funcion?, si lo es como se haria?
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)
Muy buen te felicito
¡Muchas gracias!
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
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!
@@ProgramacionFacilYT gracias los ire viendo y en un futro espero lo complementes en el curso.Gracias por la respuesta.
PFFF explicas demasiado biennnn!
¡Muchas gracias! 😄
Muy buena explicacion
¡Muchas gracias!
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
Espero seguir ayudándote con mis vídeos, es genial que te sivan. ¡Saludos!😁
Gracias!
mejor explicado imposible!
¡Muchas gracias!
Buenísimo!
¡Muchas gracias!
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 :)
Gracias a tí por verlo y comentar :D ¡saludos!
Muy buena explicación! Una pregunta, como gestionaríamos el _init_ para atributos que provienen de un diccionario que has definido previamente?
por fin entendí, gracias
gracias!
Me quede pensando como agregaste ninja.salto = True y por que no lo agregaste dentro del parametro def.
explicación óptima!
¡Gracias! 😁
Excelente!
Buenos días, esos son los únicas formas de usar el "self" en Python?
Bro una consulta en java seria totalmente igual lo digo porque en java he visto constructores vacios y con parametros me podrias orientar gracias
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/
Tengo la duda de porque usar una class en vez de la función que retornaria los valores y ya?
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.
@@ProgramacionFacilYT ya entiendo, una función retorna lo mismo siempre, una clase puede retornar múltiples datos, permitiendo tener variaciones
Haces honor al nombre de tu canal jaja
Muy buenos cursos!.
Jajaja, muchas gracias me alegro que así sea y que aprendáis mucho. ¡Saludos!
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
Buen tutorial.
¡Muchas gracias!
excelente video .una pregunta como se llama el editor que usaste paychart?(es bastante amigable ) .
Hola, si es PyCharm, aquí tienes la página oficial de descarga www.jetbrains.com/es-es/pycharm/
@@ProgramacionFacilYT gracias, te ganaste un suscriptor mas🙂
Muchas gracias, 😄 ¡Saludos!
Pero entonces puedo tener 3 selfs simultáneos?
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.
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
gracias crak!
grax
Vale pero ese "true" existe dentro de "class" o de "def __init__()" si me lo explicas estaria muy agradecido
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.
Mil likes!!
sigo sin entender para que sirve el self
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 ?
atrasado, mas firme aqui
La verdad no entendi muy Bien el Metodo init
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.
Excelente explicación, justo lo que necesito para aprender lo que siempre se me dificultó en POO. Nuevo suscriptor. 👏
¡Muchas gracias! 😀
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
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"))