En realidad no. El método __new__ sería el constructor real. __init__ es el "inicializador", el que prepara las variables de instancia. __new__ se ejecuta antes que todo.
Hola buenas tardes, tal vez hago una pregunta tonta no...baje Xcode de la app store, mi regunta es ya que esta en ingles no hay un programa para crear app de iOS QUE ESTE EN CASTELLANO? desde ya muchas gracias!!
Un muy buen vídeo! pero tengo una duda, se puede invocar un método desde otro método en la misma clase? yo lo intente y creo que mi sintaxis es la que falla. Mil gracias por tu respuesta!
para quien lo este haciendo en el 3 me salio asi class Humano: def __init__(self,edad): self.edad=edad def hablar(self,mensaje): print(self.edad) print(mensaje) pedro = Humano(25) raul = Humano(35) print("soy pedro y tengo", pedro.edad, "años") print("soy raul y tengo", raul.edad, "años") aun que en def hablar lo tenia sin el self y me daba lo mismo, sin el el print(self.edad) igual da el mismo resultado
hola yo estoy utilizando el Aptana estudio 3 y no me acepta la parte de ( Pedro = Humano() ) no me inprime nada como que no me acepta la clace Humano sola
¿Si quiero llamar un objeto que cree en otra clase, y quiero que se muestre en el main, cómo hago para llamarlo desde el main? por ejemplo, creo un vehiculo en la clase Vehiculo con sus atributos respectivos, entonces quiero llamar ese objeto y un método de la clase vehiculo para la clase main, tipo vehiculo1.MostrarInfo(), como podría hacer que esa variable creada en la clase Vehiculo llamada vehiculo1 pueda usarla en la clase main con todos sus datos?
Como crear varios objetos de la clase? Por ejemplo. Quiero que el programa le pregunte al usuario si quiere agregar a una persona, que contenga los atributos nombre edad y peso. Al decidir que si quiere agregar a una nueva persona registre esos datos y los guarde para después tener la opción de mostrar a las personas con su respectiva información, y poder eliminar o editar esa información.
Muchas gracias por tus videos, me han ayudado bastante, gran trabajo, gracias!. Tengo una duda, si tengo una lista con N elementos, ¿Cómo yo le asigno a cada elemento una clase? por ejemplo, una cola de banco, y quiero que cada cliente pertenezca a una clase Cliente. Gracias de antemano
bro literal mi profe enseña esto de la mierda con un par de minutos de tu video entendi mas que en su clase de 2 horas un saludo crack te llevas mi like
me sale este error cuando coloco el código . Traceback (most recent call last): File "C:\Users\marisol\Documents\Aptana Studio 3 Workspace\text\unefad.py", line 9, in pedro =Humano(26) TypeError: this constructor takes no arguments y mi código es este class Humano: def _init_(self,edad): self.edad = edad def hablar(self, mensaje): print self.edad print mensaje pedro =Humano(26) raul =Humano(19) print 'hola soy pedro y tengo', pedro.edad print 'hola soy raul y tengo', raul.edad pedro.hablar('hola') raul.hablar('hola,pedro como estas!')
# encoding: utf-8 class Persona: def __init__(self,edad,nom): self.edad = edad self.nombre = nom def saludar(self,saludo): print saludo # Creamos objetos Smayth = Persona(28,'Smayth') Omar = Persona(45,'Omar') # utilizamos los atributos y metodos de la clase Smayth.saludar("Hola Soy " + Smayth.nombre + " y tengo " + str(Smayth.edad) + " años de Edad") el resultado es-> Hola Soy Smayth y tengo 28 años de Edad
Hola, al intentar ejecutarlo del cmd me sale el error "no such file or directory", y ya comprobe que esta bien escrito y todo pero no me lo ejecuta, todas las practicas anteriores si las he ejecutado sin problemas.
AlexPhdz primero asegúrate que guardes el archivo en el lugar correcto, te recomiendo que guardes el código en el escritorio así solo escribirlas en CMD el comando y ya ubicado en el escritorio ejecutar el comando y dentro de él el nombre del archivo como , pero si te da error intenta ya posicionado en escritorio con CMD ejecutar el comando y listo no creo que haya problemas.
Fijate que tengas Python 2.x. Esta sintaxis no va para Python 3.x. Además, no podés "ejecutar código" de python en el terminal. Podés ejecutar un archivo .py o abrir una sesión interactiva con el intérprete de python.
a mi lo que me pasa es que me sale esto indentationerror: unindent does not match any outer indentation level cada vez que intento imprimirlo en el cmd
no quedo claro cual era el objeto y cual era la clase, spero q alguien me saque la duda,me confundio porque primero definio a objeto y clase pero luego dijo q humano era clase,y yo me pregunto no es objeto? antes el se refirio a humano como objeto,,,, help me pleasse
La Case es Humano y los objetos son Pedro y Raúl. Con esto "Pedro=Humano( )" se le está heredando todo lo que haya en la clase Humano a el objeto Pedro, por eso con solo poner "pedro.edad" se visualiza la edad, porque la edad está en la variable de la clase Humano y de ahí la jala de la instancia. Sí está confuso porque le falta explicación y no borra lo demás que estorba en el campo visual.
Aver si entendí #Primero ponemos la clase class humano: #Despues las condiciones o partes def __init__(self,edad): self.edad = edad def hablar(self, mensaje): #Aqui nos referimos a self el nombre de la persona. self = Pedro o Raúl. Y en mensaje a lo que dicen en este caso dice Pedro "Hola". Y por último decimos a cual self estamos delegando la función que es .hablar por ejemplo en este caso Pedro = self .hablar = función en este caso mensaje y nuevamente en este caso ya escrito el código print para escribir el mensaje así que quedaría mandar o delegar a Pedro el decirle a Raúl "Hola Raúl" Pedro.hablar() #Entre los paréntesis como vemos en el código: def hablar*(self, mensaje). Esta entre paréntesis el mensaje y claramente no le daremos la orden a Pedro de correr un código cómo Pedro.hablar(print "Hola Raúl") Así que será como un simple print . Pedro.hablar("Hola Raúl")
+Claudio Leonardo Este problema tiene que ver con la indentación. Mira este post: stackoverflow.com/questions/26720841/python-indentationerror-unindent-does-not-match-any-outer-indentation-level
Hola, alguien me puede ayudar con esto: Crear una clase en la cual su constructor reciba un valor real (con cifras decimales O FRACCIONARIAS), esta clase también debe tener 3 métodos que se encarguen de entregar el número real, ya entregado previamente en la creación del objeto, convertido a diferentes bases numéricas. Un método debe devolver el número en base 10 a binario (base 2), otro método debe devolver el número en base 10 a base octal y otro método devuelve el número en base 10 convertido a base 16 (hexadecimal). No usar métodos que tiene python ya creados para dicho fin. Se debe crear los programas para las converciones. Ver los programas de ejemplo para tener una idea de cómo deben comportarse los métodos de la clase.
En mi caso me pareció que explica bien, o a de ser que ya he repasado yo varias veces lo que son las funciones y le entendí mejor que a otros lo que es los objetos.
El constructor, o su equivalente aquí en Python sería el método "__init__". Recordemos que este se llama cada vez que un nuevo objeto es creado. Ahora, para entender un objeto, te lo explicaré con un ejemplo sencillo: Una clase (class) es el molde de galletas, un objeto es la galleta en sí. "Humano" es el molde (la clase), mientras que "pedro" o "raul" son las galletas de dicho molde (por lo tanto, ambos son objetos).
A mi me tira error y eso que hago todo exactamente como él lo hace nada más a la primera dice esto prntscr.com/5lmtrf y así está mi sublime text prntscr.com/5lmtxg ¿Que falla? :S
Muéstranos también aquí el texto del error que te ofrece la consola. Recuerda que en Python no debes poner tabulaciones en cada nueva linea sino sólo indentar con espacios. Vigilar is trabajas con Python 2 o Python 3, porque con la 3 tendrás que poner entre paréntesis lo que viene después del print.
Te lo explico yo. El método __init__ toma una variable, en este caso edad, que hay que pasarle al llamar al método. Lo que esa línea hace es "la propiedad edad es igual al valor "edad" pasado al método en la llamada". Este es justamente el uso de "self", y se usa para referirse a un obejto dentro de la misma clase o función. "self.edad", es el objeto del método, y "edad" es el objeto que se le pasa al método cuando se lo llama. Para que quede más claro, te lo pongo así, que seguro se entiende mejor: def __init__(self, cantidadDeAños): self.edad = cantidadDeAños => equivale a: (Propiedad de init) = (Argumento pasado a la función). Eso es lo mismo que el código original. Justamente por eso se usa "self". Cuando tenés dos variables distintas pero con el mismo nombre, así como tú te confundes, Python también. Espero que me haya explicado bien.
¿Para que sirve "self"? Digamos, si esa palabra parece no servir para nada, ¿porque no se saca? No entiendo para que sirve o para que se usa, cual es el sentido de que estè ahì.
no me imprime 'soy un nuevo objeto' porque? class Humano: def _init_(self): print 'Soy un nuevo objeto' def hablar(self,mensaje): print mensaje pedro = Humano() raul = Humano() pedro.hablar('Hola!') raul.hablar('Hola, pedro!!')
Me sale este error: AttributeError: Humano instance has no attribute 'edad' class Humano: def _init_(self): self.edad = 29 print 'Soy un nuevo objeto' def hablar(self,mensaje): print mensaje pedro = Humano() raul = Humano() print pedro.edad pedro.hablar('Hola!') raul.hablar('Hola, pedro!!')
Copie el codigo en el IDE aptana y me mostro una forma de arreglar el codigo automaticamente y bueno ya arreglado el codigo lo copie y lo empaste en el editor y funciono, al parecer era error de indentacion. Dificiles de detectar, no sabes ni en que la regaste.
El mismo error que en tu otro mensaje, tu método init (el principal), está mal escrito. Fijate que al igual que el método hablar, init también es un método. El único método que has escrito bien te ha funcionado, pero el otro no, y es que el método init debe tener dos giones bajos antes y después de init.
1 si le falta los guines bajos a tu init y aparte tienes q declarar edad en el constructor de init de tal forma que quede asi: def __init__(self,edad):
El Método Unit es como un Constructor de la clase, un método que se ejecuta al iniciar la depuración y self es una variable que sirve para almacenar el contenido de ese método y poder mandarlo a llamar. En la Instancia Humano() sólo mandas a llamar el método y se muestra lo que contiene gracias al self que guarda el mensaje. Según veo, Self es una variable por defecto que sirve para guardar el resultado del método.
File "pruebass.py", line 5 def hablando(self,"mensaje"): ^ IndentationError: unindent does not match any outer indentation level me sale eso, y mi codigo es: class Persona: def __init__(self): print "soy un objeto" def hablando(self,mensaje): print mensaje Brayan = Persona() Jose = Persona() Brayan.Jose('Hola prro') Jose.Brayan('Hola men, que tal') ¿que hice mal)
Me parece que estas identando de mas al definir el metodo "hablando". Tu codigo es: "=============================================================" class Persona: def __init__(self): print "soy un objeto" def hablando(self ,mensaje): # este bloque esta identado de mas print mensaje "=============================================================" Mientras que lo correcto seria: class Persona: def __init__(self): print "soy un objeto" def hablando(self, mensaje): # como ves este bloque no esta identado dos veces print mensaje
¿El metodo __init__(self) podría decirse que es como el constructor en Java. Y el atributo self vendría a hacer la palabra reservada this?.
Exacto
pos si.
semion
En realidad no. El método __new__ sería el constructor real. __init__ es el "inicializador", el que prepara las variables de instancia. __new__ se ejecuta antes que todo.
gracias! vengo de Java y justo venia a aprender sobre el metodo init y el atributo self
al fin entiendo esta escritura .... la veía en Selenium a cada rato y hasta ahora eran Jeroglíficos .. gracias !!!!!!
Un excelente vídeo mediante el cual pude comprender las estructuras de clases y objetos en Python; Me ayudó bastante. muchas gracias !
Hola buenas tardes, tal vez hago una pregunta tonta no...baje Xcode de la app store, mi regunta es ya que esta en ingles no hay un programa para crear app de iOS QUE ESTE EN CASTELLANO? desde ya muchas gracias!!
"Soy un nuevo objeto" Pero de ella :v
c mamó
Esto ya no es divertido...Es triste.jpg
hahahaha te pasas :v
Vine a aprender y termine llorando...
Un muy buen vídeo! pero tengo una duda, se puede invocar un método desde otro método en la misma clase? yo lo intente y creo que mi sintaxis es la que falla. Mil gracias por tu respuesta!
para los que pregunte cual es la función de self les digo que sirve para hacer referencias a los atributos de clase
para quien lo este haciendo en el 3 me salio asi
class Humano:
def __init__(self,edad):
self.edad=edad
def hablar(self,mensaje):
print(self.edad)
print(mensaje)
pedro = Humano(25)
raul = Humano(35)
print("soy pedro y tengo", pedro.edad, "años")
print("soy raul y tengo", raul.edad, "años")
aun que en def hablar lo tenia sin el self y me daba lo mismo, sin el el print(self.edad) igual da el mismo resultado
Hola! muy buen tutorial, tengo una duda, si por ejemplo los objetos ya los tengo creados en un archivo txt como podría añadirlos a la clase? Gracias!!
disculpa init y self pra que funcionan?
Este curso esta echo en Python 2... no ?? ya que en el 3... no deja usar asi los print ni eso :/
tmr no encuentro para hacerlo en python 3 y ese self no se me confunde
@@victorarboleda5960 hacerlo en python 3 es simple, si quieres pasar eso, que cosa te confunde y en que sentido?
sirve igual el video xd
hola yo estoy utilizando el Aptana estudio 3 y no me acepta la parte de ( Pedro = Humano() ) no me inprime nada como que no me acepta la clace Humano sola
¿Si quiero llamar un objeto que cree en otra clase, y quiero que se muestre en el main, cómo hago para llamarlo desde el main? por ejemplo, creo un vehiculo en la clase Vehiculo con sus atributos respectivos, entonces quiero llamar ese objeto y un método de la clase vehiculo para la clase main, tipo vehiculo1.MostrarInfo(), como podría hacer que esa variable creada en la clase Vehiculo llamada vehiculo1 pueda usarla en la clase main con todos sus datos?
El __init__(self) es como un constructor en Java? Y el self es equivalente al this de Java?
gracias por la clase amigooo mejor que mi profe de la universidad!
pregunta, como usamos o importamos esta clase? seria algo como "from Humano import * "?
Como crear varios objetos de la clase? Por ejemplo. Quiero que el programa le pregunte al usuario si quiere agregar a una persona, que contenga los atributos nombre edad y peso.
Al decidir que si quiere agregar a una nueva persona registre esos datos y los guarde para después tener la opción de mostrar a las personas con su respectiva información, y poder eliminar o editar esa información.
Te mereces el Cielo, Gracias!
Ojala que el maestro que intento enseñarame a programa Python explicara como tu. Gracias y Saludos¡¡¡ :D
Sigues vivo?¿
Muchas gracias por tus videos, me han ayudado bastante, gran trabajo, gracias!. Tengo una duda, si tengo una lista con N elementos, ¿Cómo yo le asigno a cada elemento una clase? por ejemplo, una cola de banco, y quiero que cada cliente pertenezca a una clase Cliente. Gracias de antemano
como hago el encapsulamiento ??
bro literal mi profe enseña esto de la mierda con un par de minutos de tu video entendi mas que en su clase de 2 horas un saludo crack te llevas mi like
Ando en las mismas que tu xD
me sale este error cuando coloco el código
.
Traceback (most recent call last):
File "C:\Users\marisol\Documents\Aptana Studio 3 Workspace\text\unefad.py", line 9, in
pedro =Humano(26)
TypeError: this constructor takes no arguments
y mi código es este
class Humano:
def _init_(self,edad):
self.edad = edad
def hablar(self, mensaje):
print self.edad
print mensaje
pedro =Humano(26)
raul =Humano(19)
print 'hola soy pedro y tengo', pedro.edad
print 'hola soy raul y tengo', raul.edad
pedro.hablar('hola')
raul.hablar('hola,pedro como estas!')
# encoding: utf-8
class Persona:
def __init__(self,edad,nom):
self.edad = edad
self.nombre = nom
def saludar(self,saludo):
print saludo
# Creamos objetos
Smayth = Persona(28,'Smayth')
Omar = Persona(45,'Omar')
# utilizamos los atributos y metodos de la clase
Smayth.saludar("Hola Soy " + Smayth.nombre + " y tengo " + str(Smayth.edad) + " años de Edad")
el resultado es-> Hola Soy Smayth y tengo 28 años de Edad
bien por ti
ahora lo entendi, y tu comentario lo dejo mas claro, muy buena la concatenación final
gracias! muy bien explicado
Cuando pongo class Humano me sale erro en el editor, pero cuando pongo "class" Humano no me sale el signo de error.
Hola como se llama el compilador que usas?
Buenas como haria para conseguir el punto de interseccion de dos rectas .agradesco tu pronta respuesta
Gracias.. Saludos desde Venezuela.. (24-02-2020)
Joya Chabón! ahora entiendo todo que pasa dentro de la matrix...
Se ganaron un nuevo seguidor. Son unos genios. Saludos
Ojla todos los maestros enseñaran asi como vos muchas gracias a codigo facilito.
"pedro" es el objeto, "Humano" es la clase, pedro es un objeto de clase Humano
piola
Hola, al intentar ejecutarlo del cmd me sale el error "no such file or directory", y ya comprobe que esta bien escrito y todo pero no me lo ejecuta, todas las practicas anteriores si las he ejecutado sin problemas.
AlexPhdz primero asegúrate que guardes el archivo en el lugar correcto, te recomiendo que guardes el código en el escritorio así solo escribirlas en CMD el comando y ya ubicado en el escritorio ejecutar el comando y dentro de él el nombre del archivo como , pero si te da error intenta ya posicionado en escritorio con CMD ejecutar el comando y listo no creo que haya problemas.
hola tengo una pregunta porque al ejecutar el codigo en la terminal de linux me manda error en los dos puntos y no lo ejecuta??
Fijate que tengas Python 2.x. Esta sintaxis no va para Python 3.x.
Además, no podés "ejecutar código" de python en el terminal. Podés ejecutar un archivo .py o abrir una sesión interactiva con el intérprete de python.
a mi lo que me pasa es que me sale esto indentationerror:
unindent does not match any outer indentation level cada vez que intento imprimirlo en el cmd
un poquito desactualizado pero bastante util & vigente todavia
no quedo claro cual era el objeto y cual era la clase, spero q alguien me saque la duda,me confundio porque primero definio a objeto y clase pero luego dijo q humano era clase,y yo me pregunto no es objeto? antes el se refirio a humano como objeto,,,, help me pleasse
La Case es Humano y los objetos son Pedro y Raúl. Con esto "Pedro=Humano( )" se le está heredando todo lo que haya en la clase Humano a el objeto Pedro, por eso con solo poner "pedro.edad" se visualiza la edad, porque la edad está en la variable de la clase Humano y de ahí la jala de la instancia. Sí está confuso porque le falta explicación y no borra lo demás que estorba en el campo visual.
Aver si entendí
#Primero ponemos la clase
class humano:
#Despues las condiciones o partes
def __init__(self,edad):
self.edad = edad
def hablar(self, mensaje):
#Aqui nos referimos a self el nombre de la persona. self = Pedro o Raúl. Y en mensaje a lo que dicen en este caso dice Pedro "Hola". Y por último decimos a cual self estamos delegando la función que es .hablar por ejemplo en este caso Pedro = self .hablar = función en este caso mensaje y nuevamente en este caso ya escrito el código print para escribir el mensaje así que quedaría mandar o delegar a Pedro el decirle a Raúl "Hola Raúl"
Pedro.hablar()
#Entre los paréntesis como vemos en el código: def hablar*(self, mensaje).
Esta entre paréntesis el mensaje y claramente no le daremos la orden a Pedro de correr un código cómo Pedro.hablar(print "Hola Raúl")
Así que será como un simple print .
Pedro.hablar("Hola Raúl")
Mil gracias por subir este video, me gusta tu canal!!!!
Muchas graciaaas!!!
para todos los print me pide paréntesis
que buen video, muchas gracias! me ayudaste mucho.
Muy buen vídeo, gracias
Hola, por alguna razón, el método hablar sólo me funciona en la misma línea que la clase, y no en la del constructor, tal como está en el video.
+Claudio Leonardo Este problema tiene que ver con la indentación. Mira este post:
stackoverflow.com/questions/26720841/python-indentationerror-unindent-does-not-match-any-outer-indentation-level
el self.edad del método __init__ es el mismo al self.edad dentro del método hablar, todos ellos pertenecen a la misma clase
Hola, alguien me puede ayudar con esto:
Crear una clase en la cual su constructor reciba un valor real (con cifras decimales O FRACCIONARIAS), esta clase también debe tener 3 métodos que se encarguen de entregar el número real, ya entregado previamente en la creación del objeto, convertido a diferentes bases numéricas.
Un método debe devolver el número en base 10 a binario (base 2), otro método debe devolver el número en base 10 a base octal y otro método devuelve el número en base 10 convertido a base 16 (hexadecimal).
No usar métodos que tiene python ya creados para dicho fin. Se debe crear los programas para las converciones.
Ver los programas de ejemplo para tener una idea de cómo deben comportarse los métodos de la clase.
Bien simple y directo
cual ide es la que usas?
No usa IDE esta usando un editor de texto y ejecuta en consola, el editor es "Sublime text"
¿Para que piden que dejen comentarios si ni los revisas?
xD
8 años y ni un corazón xd
@@kennyreyes4075 jajajajjajajja
Para tener mejor posicionamiento
TE AMO! POR FIN ENTENDÍ ESTA MIERDA! XD GRACIAS.
Sabias que es hombre? lo amas en el amor de cristo cómo?
que ide usa en los tutoriales?
Sublime Text 2, pero creo que esta información es irrelevante a estas alturas.
si. aunque constructor es una característica de POO, aunque java lo implementa a su manera
en colab me aparece
Humano() takes no arguments
Gracias amigo por fin entendi
comienza lo divertido :·3
Muy buen tutorial, entendí todo.
El def_init_(self) es como un constructor?
+Luis Ortiz exacto eso mismo pienso :V
Buen trabajo mas que merecido tus miles de suscriptores
O Yo soy muy bruto o el no sabe explicar? :,,,vv
Me parece que da muchas cosas por sobreentendidas. Al menos yo empecé a estudiar Python hace muy poco, y no entendí nada.
eres muy bruto
Supongo q es porque no lo explica para principiantes.
En mi caso me pareció que explica bien, o a de ser que ya he repasado yo varias veces lo que son las funciones y le entendí mejor que a otros lo que es los objetos.
Eres un bruto men con todo el respeto que te mereces
Excelente, mil Gracias
que alguien me explique cual es el constructor y el objeto!!! D:
El constructor, o su equivalente aquí en Python sería el método "__init__". Recordemos que este se llama cada vez que un nuevo objeto es creado.
Ahora, para entender un objeto, te lo explicaré con un ejemplo sencillo:
Una clase (class) es el molde de galletas, un objeto es la galleta en sí.
"Humano" es el molde (la clase), mientras que "pedro" o "raul" son las galletas de dicho molde (por lo tanto, ambos son objetos).
tambien lo es en actionscript 2.0
Hermano, podrias hacer un video sobre clases persistentes en Python porfa?
Me han dejado investigar pero no encuentro lo que es
en pocas palabras, yo entiendo que al instanciar 1 o mas objetos estos guardan por asi decirlo una copia de todos los metodos y atributos definidos???
No los guardan, los clonan.
Eres un capo bro. Muchas gracias por este contenido!!
Saludos desde Perú!
Hola que tal amigos y amigas del codigo facilito, bssb bssb bssbs bssbs a un tutorial mas del curso de Python... XD
Excelente video
Entonces, ¿cuál es la diferencia entre función y una clase?
La función hace x cosa, la clase sirve para crear objetos
Muy bien explicado, gracias!
como podría construir varias clases en uno solo, algo asi como un main en java
menudo salto de nivel jjajaja
algunas ideas para hacer un programa facilito?
Gracias!
Dios esto es fascinante
Genial el vídeo. Muy bien explicado. Muchas gracias.
no estas definiendo bien self. segun tu explicacion, entonces para que se inserta self si no hace diferencia. al final solo imprime mensaje.
Excelente!
A mi me tira error y eso que hago todo exactamente como él lo hace nada más a la primera dice esto prntscr.com/5lmtrf
y así está mi sublime text prntscr.com/5lmtxg
¿Que falla? :S
Muéstranos también aquí el texto del error que te ofrece la consola. Recuerda que en Python no debes poner tabulaciones en cada nueva linea sino sólo indentar con espacios.
Vigilar is trabajas con Python 2 o Python 3, porque con la 3 tendrás que poner entre paréntesis lo que viene después del print.
Puuuffff objeto persona, bieeen men
Oh, bastante interesante. Me resulta de gran ayuda este vídeo. Muchas gracias.
en el minuto 8 podria explicar la siguiente linea
self.edad = edad
Te lo explico yo. El método __init__ toma una variable, en este caso edad, que hay que pasarle al llamar al método. Lo que esa línea hace es "la propiedad edad es igual al valor "edad" pasado al método en la llamada".
Este es justamente el uso de "self", y se usa para referirse a un obejto dentro de la misma clase o función. "self.edad", es el objeto del método, y "edad" es el objeto que se le pasa al método cuando se lo llama.
Para que quede más claro, te lo pongo así, que seguro se entiende mejor:
def __init__(self, cantidadDeAños):
self.edad = cantidadDeAños
=> equivale a: (Propiedad de init) = (Argumento pasado a la función).
Eso es lo mismo que el código original. Justamente por eso se usa "self". Cuando tenés dos variables distintas pero con el mismo nombre, así como tú te confundes, Python también. Espero que me haya explicado bien.
¿Para que sirve "self"? Digamos, si esa palabra parece no servir para nada, ¿porque no se saca? No entiendo para que sirve o para que se usa, cual es el sentido de que estè ahì.
Excelente pero veo que no manejan algún IDE... Gracias por tu tiempo y dedicación!
No entiendo que es self
no me imprime 'soy un nuevo objeto' porque?
class Humano:
def _init_(self):
print 'Soy un nuevo objeto'
def hablar(self,mensaje):
print mensaje
pedro = Humano()
raul = Humano()
pedro.hablar('Hola!')
raul.hablar('Hola, pedro!!')
Tu constructor de clase está mal escrito. Es __init__(self). Te faltan los guiones.
+RRE Designs
Eres el héroe que responde a las preguntas XD
RRE Designs
Muchisimas gracias RRE Desings
Por que no ponen los ejemplo de utilidad real para poder saber para que sirven.
Me sale este error: AttributeError: Humano instance has no attribute 'edad'
class Humano:
def _init_(self):
self.edad = 29
print 'Soy un nuevo objeto'
def hablar(self,mensaje):
print mensaje
pedro = Humano()
raul = Humano()
print pedro.edad
pedro.hablar('Hola!')
raul.hablar('Hola, pedro!!')
Copie el codigo en el IDE aptana y me mostro una forma de arreglar el codigo automaticamente y bueno ya arreglado el codigo lo copie y lo empaste en el editor y funciono, al parecer era error de indentacion. Dificiles de detectar, no sabes ni en que la regaste.
El mismo error que en tu otro mensaje, tu método init (el principal), está mal escrito. Fijate que al igual que el método hablar, init también es un método. El único método que has escrito bien te ha funcionado, pero el otro no, y es que el método init debe tener dos giones bajos antes y después de init.
1 si le falta los guines bajos a tu init y aparte tienes q declarar edad en el constructor de init de tal forma que quede asi:
def __init__(self,edad):
Te faltan los subguiones en "init" (son dos subguiones por lado). Así : __init__
no entendi nada, no sé le faltan más detalles del porque tal cosa y asi.
no entendi ni papa. ¡¡
Alumino. Ni yo JAJAJAJAJA
El Método Unit es como un Constructor de la clase, un método que se ejecuta al iniciar la depuración y self es una variable que sirve para almacenar el contenido de ese método y poder mandarlo a llamar. En la Instancia Humano() sólo mandas a llamar el método y se muestra lo que contiene gracias al self que guarda el mensaje. Según veo, Self es una variable por defecto que sirve para guardar el resultado del método.
no me sirvio para nada
Yo tampoco. Me voy a hacer algo que tendría que haber hecho hace rato.. Leer el tutorial oficial de python
me da error
????? para quienes ya saben y quieren recordar talvez esta bien.
Has videos de como hacer un juego con cuadrados
File "pruebass.py", line 5
def hablando(self,"mensaje"):
^
IndentationError: unindent does not match any outer indentation level me sale eso, y mi codigo es:
class Persona:
def __init__(self):
print "soy un objeto"
def hablando(self,mensaje):
print mensaje
Brayan = Persona()
Jose = Persona()
Brayan.Jose('Hola prro')
Jose.Brayan('Hola men, que tal')
¿que hice mal)
Me parece que estas identando de mas al definir el metodo "hablando".
Tu codigo es:
"============================================================="
class Persona:
def __init__(self):
print "soy un objeto"
def hablando(self ,mensaje): # este bloque esta identado de mas
print mensaje
"============================================================="
Mientras que lo correcto seria:
class Persona:
def __init__(self):
print "soy un objeto"
def hablando(self, mensaje): # como ves este bloque no esta identado dos veces
print mensaje
uff men me tarde en responder pero gracias
no entiendo el porque de los guiones bajos "__"
Yo me llamo ralph!
el demoledor?
Quize hacer lo mismo pero le agregue nombre.Julio y deberia salir Julio pero cuando ejecutaba salia:
te falto invocar el pedro._init_() para que te imprima yo tambien tenia el mismo problema
hay un ruido de fondo como si fueran muchos clicks o un ventilador jajaja,me desespera XD
We, las personas no son un objeto :c
Amigos y smigas?