我是通过这边打开的,但是点击后没反应,cmd运行python是完全没有问题的,pycharm也完全没有问题
请问一下,安装好了python与pycharm,但是IDLE打不开怎么回事,环境变量都设置好了的,但点击idle就是没反应
老师,我想问一下这个是什么意思,有点看不懂
怎么理解这种嵌套循环的执行顺序,这个有点不太理解
class Employee: def __init__(self, name, salary, id=1000): self.id = id self.name = name self.__salary = salary self.id += 1 @property def salary(self): return self.__salary @salary.setter def salary(self, salary): if 1000 < salary < 50000: self.__salary = salary else: print('重新输入') def __add__(self, other): if isinstance(other, Employee): return self.__salary+other.__salary else: return '请重新输入' a = Employee('wang', 5000) b = Employee('wang', 6000) d = a+b c = Employee('wang', 60000) print(d) print(c.salary) c.salary = 80000 print(c.salary)
其中c = Employee()里面是60000,已经超出限制但是可以运行,没有经过@salary.setter的判定,但是通过c.salary赋值是可以进行装饰器判定的,所以在作业那里应该如何进行处理。
class ComputerFactory(object): instance = None init_flag = False def __new__(cls, *args, **kwargs): if cls.instance == None: cls.instance = object.__new__(cls) return cls.instance def __init__(self, brand): if self.init_flag: return self.brand = brand self.init_flag = True def CreatComputer(self): if self.brand == '联想': return Lenove().calculate() elif self.brand == '华硕': return ASUA().calculate() elif self.brand == '神州': return Hasee().calculate() else: print('你这个电脑太高级,没听过,不会造') class Computer(object): def calculate(self): print('电脑由各种配件组成') class Lenove(Computer): def calculate(self): print('联想电脑由各种配件组成') class ASUA(Computer): def calculate(self): print('华硕电脑由各种配件组成') class Hasee(Computer): def calculate(self): print('神州电脑由各种配件组成') factory = ComputerFactory('联想')
老师,你看我代码是哪里有问题么,为什么运行不显示
老师请问print("a:",a)中的"a:"为什么要加""和:
老师,
1、实例方法共享,实例属性不共享,这句话怎么理解?
我是这样理解的:此类生产的所有对象都可以调用实例方法,但自己只能拥有自己的属性,新添加的属性自己就没有
2、类对象共享实例方法吗?
3、类属性可以被类对象和实例对象共享?
4、类方法和静态方法中,不能访问实例方法和属性,是不是就是实例方法不被类方法和静态方法共享?
老师请问
下面for嵌套循环怎么做到与上面的一样
class Car: def __init__(self,Motor,Chassis,Seat,Shell,): self.Motor = Motor self.Chassis= Chassis self.Seat = Seat self.Shell = Shell def car_run(self): print("{0},{1},{2}".format(self.Motor, self.Chassis,self.Seat)) class Motor: def car_work(self): print("Motor working......") class Chassis: def car_work(self): print("Chassis working......") class Seat: def car_work(self): print("Seat working......") class Shell: def car_work(self): print("Shell working......") s1=Car(Motor(),Chassis(),Seat(),Shell) s1.car_run() print(s1)
老师怎样在 RUN 方法中 调用 WORK 方法呢 ??
class Employee: #定义一个员工对象 def __init__(self,name,salary): #定义构造函数 self.__name=name #属性私有化 self.__salary=salary id=1000 id+=1 self.id=id @property #装饰器将方法转换为属性 def salary(self): return self.__salary @salary.setter def salary(self,salary): if 1000< salary <50000: self.__salary = salary else: print("录入错误,薪水在1000到50000之间") def __add__(self,other): if isinstance(other.salary,int): return "他们的薪资和为:{0},id是{1}".format(self.salary+other.salary,self.id) else: return"不是同类对象,不能想加" empo1=Employee("haha",-2000) empo2=Employee("hhhhh",3000) s=empo1+empo2 print(s)
老师: 我想知道这个 IF 白设置了吗? 咋输入了 -2000 还给我加一起了?哪出了问题 就作业实操5 我不会我也找不到优秀实例 这个作业的全部代码和注释能 Show 给我 看下吗?/
这集视频讲的属实听不明白,明白到都不知道该怎么提问
class Employee: #定义一个员工对象 def __init__(self,salary): #定义构造函数 self.salary=salary def __add__(self,other): if isinstance(other,int): return self.salary+other else: return"不是同类对象,不能想加" empo1=Employee(2000) empo2=Employee(3000) s=empo1+empo2 print(s)
都是 int 类型的呀 为何不能相加输出
代码:
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 "编号为{0}的员工{1}的薪水和为{2}".format(Employee.id,self.name,self.__salary+other.__salary) else: return "不是同类,不能相加" @property def salary(self): return "ID是{0}的员工{1}的薪水为{2}".format(Employee.id,self.name,self.__salary) @salary.setter def salary(self,salary): if 1000<=salary<=50000: self.__salary = salary else: return "工资输入有误,请重新输入1000~50000之间的数字" e1 = Employee("yuyu",30000) print(e1.salary) e2 = Employee("youyou",20000) print(e2.salary) e3 = Employee("鱼鱼",200) print(e3.salary) print("***********************") print(e1+e2) print(e1+3000)
运行结果:
老师好,我有两个问题:
ID是1003的员工薪水没有在条件范围内,为什么可以正常输出,我的代码哪里出现了问题?
实现两个对象薪水相加时,为什么出现的是第一个员工的name,这好像违背了题中同一员工薪水相加的意思,应该怎么改过来呢?
谢谢老师~
老师,本章节中使用的 super().say() 出错了啊,没获得想要的结果
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637