我有一類代理,其工作方式爲__str__
。 我有一班Family(Agents)
。 Family
被構造爲以代理ID爲關鍵字的字典。 將代理分配給系列之後,我重複執行my_families
: 當我打印members.keys()
時,我得到正確的密鑰。 當我打印members.values()
,我得到一個實例列表在實踐中理解繼承。打印實例的值
但是,我不能訪問實例內的值本身。 當我嘗試使用方法get_money()
時,我得到一個答案,即Family類沒有該方法。任何幫助?
for family in my_families:
print family.members.values()
感謝
提供了更多的信息。 家庭類
class Family(agents.Agent):
"""
Class for a set of agents
"""
def __init__(self, family_ID):
self.family_ID = family_ID
# _members stores agent set members in a dictionary keyed by ID
self.members = {}
def add_agent(self, agent):
"Adds a new agent to the set."
self.members[agent.get_ID()] = agent
的代理類
class Agent():
"Class for agent objects."
def __init__(self, ID, qualification, money):
# self._ID is unique ID number used to track each person agent.
self.ID = ID
self.qualification = qualification
self.money = money
def get_ID(self):
return self.ID
def get_qual(self):
return self.qualification
def get_money(self):
return self.money
def __str__(self):
return 'Agent Id: %d, Agent Balance: %d.2, Years of Study: %d ' (self.ID, self.money, self.qualification)
#Allocating agents to families
def allocate_to_family(agents, families):
dummy_agent_index = len(agents)
for family in families:
dummy_family_size = random.randrange(1, 5)
store = dummy_family_size
while dummy_family_size > 0 and dummy_agent_index >= 0 and (dummy_agent_index - dummy_family_size) > 0:
family.add_agent(agents[dummy_agent_index - dummy_family_size])
dummy_family_size -= 1
dummy_agent_index -= store
最後打印的例子,讓我的實例對象,但不是他們的價值觀
for family in my_families:
print family.members.values()
你也可以發佈家庭課程代碼嗎? – SuperBiasedMan
您需要提供更多信息(即您的班級定義的最小工作示例),否則您的問題可能會被擱置。 –
請提供更多信息,就像在一個最小工作示例之前所說的那樣,所以我們可以重現您的錯誤並測試如何解決它。 – Santiago