Сохранены экземпляры класса Abc как значения dict с номером в качестве ключа.Затем я хочу использовать ключ dict, чтобы найти экземпляр и вызвать функцию «здесь» для этого экземпляра.Код (Python 3.2 на MS Win 7):
class Abc():
def __init__ ( self, num ):
self.num = num
print ( 'Starting sess no - ', self.num )
def here ( self ):
print ( 'Here - ', self.num )
def main():
sess = dict ((i, Abc(i)) for i in range ( 3 ))
for i in range ( 7 ):
print ('Go to Sess - key: ', i % 3, ' value: ', sess [i % 3] )
try:
sess [i % 3].here
except:
raise KeyError ('Problem with key')
, который выдает такой вывод:
Starting sess no - 0
Starting sess no - 1
Starting sess no - 2
Go to Sess - key: 0 value: <__main__.Abc object at 0x00C193B0>
Go to Sess - key: 1 value: <__main__.Abc object at 0x00C19510>
Go to Sess - key: 2 value: <__main__.Abc object at 0x00C19530>
Go to Sess - key: 0 value: <__main__.Abc object at 0x00C193B0>
Go to Sess - key: 1 value: <__main__.Abc object at 0x00C19510>
Go to Sess - key: 2 value: <__main__.Abc object at 0x00C19530>
Go to Sess - key: 0 value: <__main__.Abc object at 0x00C193B0>
Abc.here не выполняется ни для одного экземпляра.Это выполнимо?Если да, то какой код мне нужен?