Python - Referencia a atributos/metodos de objetos añadidos a listas con append

 
Vista:
sin imagen de perfil

Referencia a atributos/metodos de objetos añadidos a listas con append

Publicado por Constantino (1 intervención) el 22/12/2015 13:37:19
Muy buenas

La siguiente incidencia la he probado en el el Shell de Python y en PyCharm

# Si añado los objetos a la lista mediante append no se despliegan sugerencias de los atributos y métodos asociados al objeto cuando elijo un elemento de la lista mediante indice. Veamoslo mediante un ejemplo sencillo:

class Objeto():
def __init__(self, nombre):
self.nombre = nombre

obj1 = (Objetos("Juan"))
obj2 = (Objetos("Mario"))
objetos = []

objetos.append(obj1)
objetos.append(obj2)

print (obj1.nombre) --- > Aquí si me sale como sugerencia el atributo nombre
print (obj [0].nombre) ---- > Aquí me dice que no hay sugerencias. La instrucción se ejecuta correctamente



# Si creo los objetos y luego los añado a una lista directamente sin la instrucción append, entonces si se despliegan los atributos y métodos asociados al objeto

lista = [obj1, obj2]

# Si añado los objetos de esta manera si se me despliegan como sugerencia los atributos y métodos del objeto. Tanto haciendo referencia al indice de la lista como al nombre del objeto

print (lista[0].nombre) ---> Aqui si me sale como sugerencia el atributo nombre
print (obj1.nombre) -----> Aqui también me sale la sugerencia

___________________________________________

¿ Esto a que es debido ? Cuando tengo que crear 98 objetos de forma recursiva con 15 atributos y otros tantos métodos, el hecho de que no me aparezca la sugerencia es un problema


Muchas gracias
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