本题考查主要有两点

1:try...except...异常的捕获处理,这里一开始定义类的时候,没有age属性,因此在实例输出age时属性时必定会出现 属性不存在的异常(AttributeError)报错。在printclass 函数中捕获这个异常,打印age 属性不存在

2.考查动态实例属性的添加,由于原本类定义中 属性age不存在,因此可在实例e上动态添加属性age,此属性只属于该实例。动态添加实例属性方法:e.age = age ps:e是类Employee的实例对象

class Employee:
    def __init__(self,name,salary) -> None:
        self.name = name
        self.salary = salary
    def printclass(self):
        try:
            print(f"{self.name}'salary is {self.salary}, and his age is {self.age}")
        except AttributeError:
            print("Error! No age")

# 数据输入:姓名,薪水,年龄
name = input()
salary = int(input())
age = int(input())

# 先使用name和salary 创建实例e
e = Employee(name,salary)
e.printclass()

# 直接在实例e上添加属性年龄age
e.age = age
e.printclass()