我是靠谱客的博主 结实果汁,最近开发中收集的这篇文章主要介绍Python基础学习笔记——定义一个雇员类Employee(属性、运算符重载、自定义id、判断薪水)问题描述:代码:程序结果:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

此问题来自高淇老师讲义课后习题:

问题描述:

定义一个 Employee 雇员类,要求如下:
(1) 属性有:id、name、salary
(2) 运算符重载+:实现两个对象相加时,默认返回他们的薪水和
(3) 构造方法要求:输入 name、salary,不输入 id。id 采用自增的方式,从 1000 开
始自增,第一个新增对象是 1001,第二个新增对象是 1002。
(4) 根据 salary 属性,使用@property 设置属性的 get 和 set 方法。set 方法要求输
入:1000-50000 范围的数字。

代码:

class Employee:
    __init_flag = True

    # 定义实例属性
    def __init__(self, ID, name, salary):
        self.id = ID
        self.name = name
        self.salary = salary

    def __add__(self, other):  # 这里重载了加号的功能__add__
        if isinstance(other, Employee):
            return self.salary + other.salary
        else:
            return "不是同类对象,不能相加"

    def input(self):  # 定义自增方式
        d = 1000
        if self.id == ' ':  # 当不输入id时
            if Employee.__init_flag:  # 第一次给无id员工赋值id
                self.id = 1000
                Employee.__init_flag = False
                return self.id

            else:  # 第二次及以后给无id员工赋值
                d = d + 1
                self.id = d
                return self.id


        else:  # 当输入id时
            return self.id

    def get_salary(self):
        return self.salary

    def set_salary(self):
        if 1000 < self.salary < 50000:
            pass
        else:
            print("录入错误!薪水在1000-50000这个范围")


p1 = Employee(1000, "张三", 3000)
p2 = Employee(1001, "李四", 3500)
print(p1 + p2)  # 两个对象相加时,默认返回他们的薪水和

p3 = Employee(' ', "王五", 4000)
p3.input()
print(p3.id)  # 验证自增方式

p4 = Employee(' ', "赵六", 4500)
p4.input()
print(p4.id)  # 验证自增方式

p5 = Employee('1006', "赵六", -5000)
p5.input()
p5.set_salary()  # 验证薪水范围是否正常

程序结果:

在这里插入图片描述

程序还有需要完善的地方,欢迎大家多多交流

最后

以上就是结实果汁为你收集整理的Python基础学习笔记——定义一个雇员类Employee(属性、运算符重载、自定义id、判断薪水)问题描述:代码:程序结果:的全部内容,希望文章能够帮你解决Python基础学习笔记——定义一个雇员类Employee(属性、运算符重载、自定义id、判断薪水)问题描述:代码:程序结果:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部