employees = []
for i in range(0,10):
emp = Employee(i)
emp.first_name = "%s-%s"%("first name", i)
emp.last_name = "%s-%s"%("last_name", i)
emp.desgination = "%s-%s"%("engineer", i)
employees.append(emp)
ids = [e.eid for e in employees]
Вот мое определение класса:
class Employee:
_fields = {}
def __init__(self, eid):
self.eid = eid
def __getattr__(self, name):
return self._fields.get(name)
def __setattr__(self,name,value):
self._fields[name] = value
def __str__(self):
return str(self._fields)
def __unicode__(self):
return str(self._fields)
Проблема в том, что когда я печатаю идентификаторы, он содержит 10 раз 9 ... то есть
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
Кажется, что та же самая переменная emp перезаписывается. Я не уверен, что происходит не так. Хотя я Java-кодер, но я подумал, что у меня тоже есть представление о Python.