Python - ver los atributos de una lista de objetos de una manera optima

 
Vista:
Imágen de perfil de juan

ver los atributos de una lista de objetos de una manera optima

Publicado por juan (5 intervenciones) el 24/09/2014 22:24:07
Hola a todos!
les comento que soy nuevo en la programación de python, por suerte eh logrado crear mi primer clase y mi primer lista y me preguntaba varias cosas quizás me puedan ayudar:
Les comento que vengo de matlab y hay muchas funciones optimizadas y quería saber si existen algo parecido en python,

matlab:

1.creo una clase Alumnno con atributos Nombre y Edad
2. lista de Alumnos
y si pongo Alumnos(:).Nombre veo todos los Nombre de la lista, esto es mediante el ":" , en python si creas una lista = [1, 2, 4, "hola"] y hago lista[0:1] funciona

python:

1
2
3
4
5
6
7
8
class alumno(object):
    def __init__(self):
        self.nombre = "nombre"
        self.edad = 88
 
lista_de_alumnos = [alumnos() for _ in range(10)]
 
lista_de_alumnos[:].nombre  # <---Error , que es claro que en este caso recibiré" si funcionara esto" 10 veces el string 'nombre'


-------------------------
calculo que mediante un for se pueda solucionar pero me gustaria saber si se puede hacer al estilo MATLAB ya que ganas muchisimo tiempo a la hora de hacer por ejemplo promedios


mean(Alumnos(:).Edad) % codigo MATLAB

Muchas gracias de antemano

SALUDOS juan
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

ver los atributos de una lista de objetos de una manera optima

Publicado por Agustin (21 intervenciones) el 25/09/2014 00:31:10
Yo estoy aprendiendo python, por lo que en lo que tu pides no sabría decirte, ya que se me hace muy complejo, pero veo una falla en la clase Alumno de tu código.
Este es tu código:
1
2
3
4
class alumno(object):
    def __init__(self):
        self.nombre = "nombre"
        self.edad = 88

Y para que los atributos "sean atributos" deberías hacerlo así, en la función __init__():
1
2
3
4
5
6
class Alumno():
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad
 
alu = Alumno(Juan, 88)

Le explico, en primer lugar, las clases es recomendable hacerlas con la primera letra en mayúsculas, y todas las palabras juntas, cada una con su respectiva mayúscula, ejemplo: class AlumnoDeTercero()
Siguiente, los atributos debe declararlos en la función __init__, para que cuando llame a la clase, les de usted mismo su valor.
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

ver los atributos de una lista de objetos de una manera optima

Publicado por juan (5 intervenciones) el 07/10/2014 00:39:44
Muchas gracias por tus sugerencias agustín. Entiendo perfectamente lo que haces mención. Lo realice de manera rápida para ejemplificar mi pregunta principal. Muchas gracias por tomarte el tiempo y 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