Итак, в интересах практики Python и более точного понимания объектно-ориентированного программирования, я написал этот простой скрипт, чтобы лучше понять концепции. Однако, когда я пытаюсь инициировать объект "обезьяны", в конечном итоге Python добавляет имя моего первого объекта обезьяны на неопределенное время ... Я приближаюсь к ООП, верно? И если так, то где я иду не так, потому что я не могу сказать ...
Спасибо
#! usr/bin/python
monkeylist = []
class monkey:
def __init__(self, name):
self.name = name
self.banana = []
monkeylist.append(self.name)
def addbanana(self, kind):
self.banana.append(kind)
class monkeys:
def __init__(self, monkeylist):
self.allmonkeys = monkeylist
self.monkeydict = {}
for name in self.allmonkeys:
self.allmonkeys[name] = monkey(name)
def addbanana(self, name, kind):
self.monkeydict[name].addbanana(kind)
Точный ввод и вывод - это ...
python -i objtest.py
>>> bob = monkey("bob")
>>> test = monkeys(monkeylist)
^CTraceback (most recent call last):
File "<stdin>", line 1, in <module>
File "objtest.py", line 15, in __init__
self.allmonkeys[name] = monkey(name)
File "objtest.py", line 7, in __init__
monkeylist.append(self.name)
KeyboardInterrupt