我是靠谱客的博主 结实果汁,最近开发中收集的这篇文章主要介绍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、判断薪水)问题描述:代码:程序结果:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复