如何访问列表中的特定对象(python)

时间:2017-11-23 23:35:08

标签: python list class subclass superclass

我写了一个超类人物,从这里我有两个子类叫做员工和病人,员工有两个子类叫做医生和员工。

人物的属性包括:姓名,地址和出生日期

员工:姓名,地址,出生日期,员工人数和雇用日期

患者:姓名,地址,出生日期,MCP,入院日期,医院名称,医生姓名和房间号

医生:姓名,地址,出生日期,员工人数,雇用日期,年薪,专业化和患者人数

员工:姓名,地址,出生日期,员工人数,雇用日期,小时工资以及全职或兼职状态

我们被要求创建一个文本文件,在其中我们为每个类的每个人放置数据,然后将数据导入python并将五个类类型的对象存储到1d列表中。

我已完成此部分,但是我现在需要访问某些类类型来进行计算。例如,我需要访问员工来计算每小时工资的年薪,我需要访问医生才能获得年薪,但我不知道该怎么做。

当我尝试运行我编写的代码时,我收到一条错误消息

tab.getPseudoClassStates() 

我的错误是在我的for循环结束时。我可以使用什么来访问每个对象的某些属性而不会出现此错误?我需要计算几件与某些对象无关的东西。

print(people[i].getHSalary())
AttributeError: 'Person' object has no attribute 'getHSalary'

1 个答案:

答案 0 :(得分:0)

首先'如果'如果您创建了Person对象,并将此对象添加到列表中 - 此时您的列表包含' Person'类。 Python中的List只能包含一种类型的对象,因此当您尝试调用' getHSalary'时,会发生错误。