Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: EvilGoblin en 18 Noviembre 2010, 17:39 pm



Título: [Python]Struct en Python? (SOLUCIONADO)
Publicado por: EvilGoblin en 18 Noviembre 2010, 17:39 pm
en C seria

Código:
struct frutas{
   int manzanas;
   int frutillas;
   int naranjas = 0;
}canasta;

canasta.manzanas = 23;

printf ("cantidad de manzanas: %i\r\n",canasta.manzanas);

en python tengo

Código:
canasta = ([0,0,0])
canasta[0] = 23
print "Cantidad de manzanas:".canasta[0]

pero a lo largo del codigo me puedo marear con esto.
Cual seria la forma de crear objetos dentro de un array ?







SOLUCION:
una posible solucion (que voy a adoptar)

Código:
frutas={'naranjas':1.5,'manzanas':2.3,'peras':1.5}
try:
    print frutas['sandias']
except KeyError:
    print 'No existe dicha fruta'
   
print frutas['naranjas']

frutas['naranjas'] = 22

print frutas['naranjas']


Título: Re: [Python]Struct en Python? (SOLUCIONADO)
Publicado por: seele en 18 Noviembre 2010, 18:02 pm
python utiliza registros (records) para solventar estos casos.
simplemente importas el modulo record

Código
  1. from record import record
  2.  
  3. class Persona(record):
  4.   nombre = ''
  5.   edad = 0

se utiliza la palabra reservada class luego le sigue el nombre del tipo de datos que queremos crear y entre parentesis el modulo record
para crear un tipo de datos usas

Código
  1. juan = Persona(nombre='Juan', edad=19)

luego para usar el dato

Código
  1. print juan.edad

saludos



Título: Re: [Python]Struct en Python? (SOLUCIONADO)
Publicado por: Novlucker en 18 Noviembre 2010, 19:45 pm
Record no es standard, así que seguramente no le funcione :rolleyes:
Se pueden usar diccionarios "normales" o cosas como esta :P

Código
  1. class Canasta():
  2.    def __init__(self,**frutas):
  3.        self.__dict__.update(frutas)
  4.  
  5. j = Canasta(Manzana=23,Naranja=36)
  6. print j.Manzana
  7. print j.Naranja
  8.  
  9. class Fruta():
  10.    def __init__(self,precio,cantidad):
  11.        self.precio = precio
  12.        self.cantidad = cantidad
  13.  
  14. k = Canasta(Manzana=Fruta(30,100),Naranja=Fruta(20,500))
  15. print k.Manzana.cantidad
  16. print k.Naranja.precio

Saludos


Título: Re: [Python]Struct en Python? (SOLUCIONADO)
Publicado por: flacc en 20 Noviembre 2010, 03:12 am
idea mia o python es la moda?... quizas que cosas existiran cuando llegue a estudiar a la universidad  :P...