NP99 修改属性2

描述

请为牛客网的员工创建一个Employee类,包括属性有姓名(name)、(salary),并设置初始化。同时该类包括一个方法printclass,用于输出类似’NiuNiu‘s salary is 4000, and his age is 22’的语句。
请根据输入的信息为Employee类创建一个实例e,调用hasattr方法检验实例有没有属性age,如果存在属性age直接调用printclass输出,否则使用setattr函数为其添加属性age,并设置值为输入后,再调用printclass输出。

输入描述:

三行分别依次输入姓名name、工资salary、年龄age,其中第一行为字符串,后两行为整型数字。

输出描述:

第一行输出e有没有属性age,True或者False;
第二行输出printclass打印信息。

题解

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

    def printclass(self, age=None):
        if age is not None:
            print(f"{self.name}'salary is {self.salary}, and his age is {age}")
        else:
            print(f"{self.name}'salary is {self.salary}")


name = input()
salary = int(input())
age = int(input())

e = Employee(name, salary)

has_age = hasattr(e, "age")
print(has_age)

if not has_age:
    setattr(e, "age", age)

e.printclass(getattr(e, "age", None))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值