这里的代码非常简单。我想从开发人员访问p_lang并将其传递给Manager并打印出该开发人员的编程语言。但是问题是有些雇员没有p_lang属性,有些却没有。我该如何解决类型转换以及AttributeError。
当我尝试打印emp.p_lang时,我的主要问题是在Manager类的print_emp方法上
class Employee(object):
def __init__(self, first, last, pay):
self.first=first
self.last=last
self.pay=pay
class Developer(Employee):
def __init__(self, first, last, pay, p_lang):
Employee.__init__(self, first, last, pay)
self.p_lang=p_lang
class Manager(Employee):
def __init__(self, first, last, pay, employees=None):
Employee.__init__(self, first, last, pay)
if employees is None:
self.employees = []
else:
self.employees = employees
def print_emp(self):
for emp in self.employees:
print "Employees Supervised : %s --
Language: %s" % (emp.first, emp.p_lang)
emp1=Employee('Soham', 'Majumdar', 18000)
emp2=Employee('Rohan', 'Gogoi', 23000)
dev1=Developer('Sauronil', 'Das', 50000, 'Python')
dev2=Developer('Nitish', 'Kashyap', 60000, 'Java')
mgr1 = Manager('Linus' , 'Sebastian' , 90000, [emp1, emp2, dev1, dev2])
mgr1.print_emp()