Python - Estancado en POO y no entiendo __init__()

   
Vista:

Estancado en POO y no entiendo __init__()

Publicado por Agustin agustinbarruti@gmail.com (21 intervenciones) el 18/09/2014 00:16:51
Pue eso, llevo un tiemp programando, 2 semanas ya, en python , y me he quedado estancado en la programación en POO, ya que realmente, no sé que programar, porque he visto gente hacer muy buenos códigos(en ejemplos de libros, por ejemplo) justo por el temario que voy yo, y siempre hago el mismo estilo de codigo(que si escribas a donde quieres ir y jugar a suertes el reusltado, y así todo el rato), y no consigo hacer uno como los de los ejemplos que me muestran mientras estoy aprendiendo, además yo me quiero centrar en hacer GUI's , pero obviamente, necesito dominar primero el lenguaje en si. También en POO, no consigo encontrarle la utilidad a __init__, ya que puedo hacer la misma función que hace _init__ declarando variables, o eso creo.

Me gustaria que me dierais una ayudita para la primera duda sobre POO y para __init__
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Estancado en POO y no entiendo __init__()

Publicado por Alejandro (84 intervenciones) el 18/09/2014 03:56:22
Si no me equivoco (y perdoname si lo hago), __init__ es una especie de constructor. Se llama automágicamente al hacer una clase, es decir, se ejecuta aunque no la llames. Se puede decir que su funcion nos ayuda a ahorrar codigo o a evitar codigos engorrosos. El método es útil para hacer cualquier inicialización que quieres hacer con tu objeto.

ejemplo simple:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Persona:
    def __init__(self):
        self.nombre = 'TuNombre'
        self.edad = 'TuEdad'
        self.pais = 'TuPais'
 
        self.Muestra()
 
    def Muestra(self):
        print self.nombre
        print self.edad
        print self.pais
 
persona = Persona()

__init__ se utilizan normalmente para definir variables o llamar alguna funcion. Cuando sepas mas, te daras cuenta de la gran importancia de este constructor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Estancado en POO y no entiendo __init__()

Publicado por Agustin agustinbarruti@gmail.com (21 intervenciones) el 18/09/2014 17:48:22
No responde exactamente a mi pregunta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

Estancado en POO y no entiendo __init__()

Publicado por Alejandro (84 intervenciones) el 18/09/2014 17:51:13
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estancado en POO y no entiendo __init__()

Publicado por Agustin (21 intervenciones) el 18/09/2014 17:55:25
Ya he buscado en Google, por eso escribo aquí, porque no lo entiendo.
Además también tengo otra duda en el mensaje, es sobre codear en general.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Estancado en POO y no entiendo __init__()

Publicado por xve (1229 intervenciones) el 18/09/2014 19:52:00
Hola Agustin, también se utiliza para para obtener las posibles variables que puede haber en la llamada a la clase.

1
2
3
4
5
6
class Persona:
    def __init__(self,nombre):
        self->nombre=nombre
    ...
 
persona=persona("pepe")

También puede servir para inicializar otras clases, conectar con base de datos, etc...

Además, en python, hay muchas funciones predefinidas que van muy bien:
__doc__, __del__, __repr__, __str__, __getitem__, __len__, __cmp__, ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estancado en POO y no entiendo __init__()

Publicado por Agustín agustinbarruti@gmail.com (21 intervenciones) el 18/09/2014 20:03:23
Y qué es ese "->" después del self...?
También no te importaría ayudarme con lo de programar, al inicio del mensaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Estancado en POO y no entiendo __init__()

Publicado por xve (1229 intervenciones) el 18/09/2014 20:18:32
Mil perdones Agustín, eso es de PHP... que me he liado.
seria:
1
self.nombre=nombre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Estancado en POO y no entiendo __init__()

Publicado por Agustin agustinbarruti@gmail.com (21 intervenciones) el 18/09/2014 20:58:10
Ya me parecía a mi jajaj, bueno, la ultima duda.
En el primer mensaje expongo el problema de crear código, que no consigo crear un codigo "eficiente", ya que siempre utilizo la misma base pare hacer código y no consigo, "crear", digamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Estancado en POO y no entiendo __init__()

Publicado por xve (1229 intervenciones) el 19/09/2014 07:55:16
Hola Agustin, no entiendo muy bien a que te refieres...

Si quieres decir, en empezar a crear un código desde cero, creo que es falta de experiencia. A medida que vayas desarrollando, veras que cada vez es mas sencillo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar