Python - Constructores en Python

   
Vista:

Constructores en Python

Publicado por Cristian (6 intervenciones) el 10/04/2012 23:37:01
Manejo a un nivel intermedio el lenguaje de C#.
Y quiero aprender python estoy empezando a estudiar este lenguaje, y pues para practicar quiero pasar todos los ejercicios que tengo de c# a python pero aun no tengo claro algunas cosas de python por ejemplo con respecto a los constructores se que en python no existen y que lo mas parecido es el método __init__().
Quiero pasar un ejemplo de C# que usa varios tipos de contructores y aun no lo e logrado pasar a python. este es el codigo en C# como seria en python si me pudieran ayudar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
class cons {
int a;
double b;
string c;
 
public cons(int a){
this.a=a;
Console.WriteLine("se recibió un entero con valor: "+a);
}
 
public  cons(double b){
this.b=b;
Console.WriteLine("se recibió un double con valor: "+b);
}
 
public  cons(string c){
this.c=c;
Console.WriteLine("se recibió un String con valor: "+c);
}
 
public  cons(){
Console.WriteLine("constructor vacío sin declaración de parámetros");
 }
}
 
 
class ejercicio3{
public static void Main(){
 
cons ob = new cons(10);
cons ob1 = new cons(11.5);
cons ob2 = new cons("madrid");
cons ob3 = new cons();
 
 }
}


Y otra duda aun no me queda claro como funciona el metodo Main en python por ejemplo en c# es necesario tener este metodo para ejecutar un programa pero veo que en python no es asi
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 xve

Constructores en Python

Publicado por xve (1229 intervenciones) el 11/04/2012 07:58:38
Hola Cristian, aquí todo pasa por el __init__()... seria algo así:
1
def __init__(self,a=0,b=0,c=""):

De esta manera, tu puedes pasar el valor que quieras, si no lo pasas, coge el valor por defecto indicado...
1
2
3
app = className(a=5)
app = className(b=5)
app = className(c="cadena")

Cualquiera de estas definiciones te valdría

Coméntanos si te sirve ok?
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

Constructores en Python

Publicado por Cristian (6 intervenciones) el 12/04/2012 01:38:08
Gracias por responder
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