#实例操作3 ''' 定义一个Employee雇员类,要求如下: (1) 属性有:id、name、salary (2) 运算符重载+:实现两个对象相加时,默认返回他们的薪水和 (3) 构造方法要求:输入name、salary,不输入id。id采用自增的方式,从1000开始自增,第一个新增对象是1001,第二个新增对象是1002。 (4) 根据salary属性,使用@property设置属性的get和set方法。set方法要求输入:1000-50000范围的数字。 ''' class Employee5: id=1000 def __init__(self,name,salary): Employee5.id=Employee5.id+1 self.name = name self.salary = salary def __add__ (self,other): if isinstance(other,Employee5): return "{}和{}的薪水之和是:{}".format(self.name,other.name,self.salary+other.salary) @property def salary(self): print('年薪为{},月薪为{}'.format(self.salary*12,self.salary)) return self.salary @salary.setter def salary(self,salary): if(1000<salary<50000): self.salary=salary else: print('薪水的输入范围为1000~50000!') e1=Employee5('惠斌',12000) e2=Employee5('胡林',13000) print(e1+e2)
没有将salary属性私有,上面代码运行之后报错,超出最大递归深度,如下图:
您好老师:
如上一图同学所问我刚刚实验也有这个结果,虽然在变但是重复的时候总是两个id不断周期重复,这个是为什么没有出现第三个,既然随机?
老师您好,请问创建项目修改名字后出现圈圈内的提示,程序运行不了是什么回事?
谢谢!
老师,为什么我运行的结果为两个None?
小于60报误结果是“字符串索引超出范围”。
老师,这些问题怎么解决? 1.怎么判断字符串是否为常量字符串? 2.我在命令行中输入相同的文字两者id不相同,如果不是理解为引号包住的就是常量字符串,那又该怎样理解常量字符串?
老师,请问 reverse=True 是起到什么作用,可以没有吗?
from __future__ import print_function import os, re, shutil # 移动文件的MoveFile类 class MoveFile(): def __init__(self,srcDir,recursive=True,flag='.csv'): self.srcDir = srcDir # 源目录 #self.dstDir = dstDir # 目标目录 self.recursive = recursive # 递归查找文件夹,默认为True,查找到二级目录下的文件 self.flag = flag # 要匹配的文件类型 '.csv文件 self.badFileName = [] # 文件类型符合要求,但命名不符合要求 self.csvFile = [] # 捕获的csv文件 def FindAllcsv(self): #if self.recursive == True: for item in os.listdir(self.srcDir): if os.path.isfile(os.path.join(self.srcDir,item)) and os.path.splitext(item)[-1]==self.flag.lower() and os.path.splitext(item)[-4]=='NH': self.csvFile.append(item) return self.csvFile #print(csvFile) srcDir= r'C:******************************' fmv=MoveFile(srcDir) print(fmv.FindAllcsv())
我目标路径下面有过滤的文件 ,为什么返回的是【】?
dict1 = {: , : , : }(dict1) dict1.popitem() (dict1) dict1.popitem() (dict1) dict1.popitem() (dict1)
老师,这个在我电脑上是删除最后一个键值对,你讲的是随机删除,为什么会不一样
老师为什么我用增强型赋值号和用普通赋值结果是不一样的
葉業火皇 1楼
百战程序员
这个和驻留机制有关,代码运行完驻留和运行时驻留的效果不同,a是代码运行完之后驻留的,id相同。b是运行过程中驻留的所以id不同。
老师:这句话是不是说反了?
老师 这咋回事
无需用“str.方法”,print(a)函数可以直接调用__str__函数是吗
老师我不能理解为啥4.14后面会多出00000.1来呢
1,什么是常量?
2,常量是用来做什么的?
3,不支持常量的意思是指在python中没有语法规则限制一个常量的值?
老师的教学里面说的是在文件模式下所有数字都会被缓存,可以是无穷大,可练习题里面是字符串,在文件模式下数字可以无穷大,即使是字符串也可以理解,毕竟是包含所有的字符了,但是在命令行模式下为什么有的相同字符串比较是True,但是有的字符串比较是False呢,这命令行模式下的字符串有什么区别吗。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2026百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637