老是你好,nonlocal 是否只能在函数嵌套的下一级使用,是否可以捕获两个同级不同函数的局部变量?
class Student: def __init__(self,name,age): self.name=name self.age=age def say_score(self): print("{0}的年龄是{1}".format(self.name,self.age)) s1=Student("张三",19) print(s1.name,s1.age) s1.say_score() s2=Student("李四",90) print(s2.name,s2.age)
老师,,self的作用是把__init__里面的函数,全部做成类里面的公用的局部变量吗。因为def是定义一个函数,正常来讲在第一个def定义的局部变量,在第二个def应该是用不了的。
老师,这里我编了那个打印薪资的,为什么自己输入薪水后没有打印出来呢?
a=3 print(id(a)) 这个输出的id是值3的id吧?
浅拷贝代码b[2].append(7)修改的不是b吗,为啥a也会出现修改
老师,为什么第一行代码的输出结果为“edc”,不应该是“edcb”吗?
a= dict(("支持金额",300.15),("支出日期","2018.10.18"),("支出人","高小七")) print(a)
老师:如上创建字典报错如下,这个报错是什么意思,为什么这样写不行?
conda create -n Flask-project_env python=3.10.10
创建虚拟环境的后面不指定Python版本的话,会怎么样?
老师我在使用AI一直失败
老师,如下函数的return为什么返回的是sum而不是add,不是应该返回add这个函数名吗?这里不太理解,如果返回了sum和返回了add有什么区别?
这是咋回事呢
问题:如下的效率测试程序中+str(time02-time01)是什么意思,为什么要使用+str
''' 定义一个 Employee 雇员类,要求如下: (1) 属性有:id、name、salary (2) 运算符重载+:实现两个对象相加时,默认返回他们的薪水和 (3) 构造方法要求:输入 name、salary,不输入 id。id 采用自增的方式,从 1000 开始自增,第一个新增对象是 1001,第二个新增对象是 1002 (4) 根据 salary 属性,使用@property 设置属性的 get 和 set 方法。set 方法要求输入:1000-50000 范围的数 ''' class Employee: id=1000 def __init__(self,name,salary): self.__name=name self.__salary=salary Employee.id+=1 def __add__(self, other): if isinstance(other,Employee): return self.__salary+other.__salary @property def salary(self): if 1000<self.__salary<50000: return self.__salary else: return '录入错误,薪水在1000到50000这个范围' @salary.setter def salary(self,salary): if 1000<salary<50000: self.__salary=salary else: return '薪水录入错误!只能在1000-50000之间' emp1=Employee('高淇',30000) print(emp1.id) print(emp1.salary) emp2=Employee('高希希',20000) print(emp2.id) print(emp2.salary) emp2.salary=60000 print(emp1+emp2)
1.为什么emp2.salary=60000 并没有执行?
2.在运行emp2后再输出emp1.id,emp1.id就会等于emp2.id 请问老师这种情况正常吗?
为什么我这个‘\t'是换行而不是空格
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637