老师你好啊,想请问为什么使用“append”是后面的()只能添加一组数字,如果想要一次过添加好几组数字就无法使用append了?
例子:
a = [55,87,94,83,43,25]
>>> a.append(79,34)
num = 0 sum_all = 0 #1-100 所有数的累加和 sum_even = 0 #1-100 偶数的累加和 sum_odd = 0 #1-100 奇数的累加和 while num<=100: sum_all += num if num%2==0:sum_even += num else:sum_odd += num num += 1 #迭代,改发条件表达式,使循环趋于结束 print("1-100 所有数的累加和",sum_all) print("1-100 偶数癿累加和",sum_even) print("1-100 奇数癿累加和",sum_odd) 老师这个代码里的是不是先执行while循环结构里的语句块,再执行if条件式里的语句块?
老师,这边的get和set 是不是只是起到了,见代码知其意的效果,如果换成其他的名字也是没有问题的?当然下面print的时候,也是跟上面定义的方法名一样
如果a=[10,20]
b=a
是属于 浅拷贝,还是深拷贝呢
老师,跟视频一样的代码,我这里为什么会报错
老师:
结尾的那段代码,没有delp1为啥p1也被销毁了?
class MySingleton: __obj=None __init_flag=True def __new__(cls, *args, **kwargs): if cls.__obj==None: cls.__obj=object.__new__(cls) return cls.__obj def __init__(self,name): if MySingleton.__init_flag: print("........") self.name=name MySingleton.__init_flag=False a=MySingleton("aa") b=MySingleton("bb") print(a) print(b)
老师 单例模式中 object.__new__(cls) 这句代码有点不明白 这是什么意思
老师,记得将构造函数的时候1和2需要是一样的名字,3和4也是一样的名字,但是我试验5和6不一样,为什么也可以打印
#测试浅拷贝和深拷贝 import copy class MobilePhone: def __init__(self,cpu,screen): self.cpu=cpu self.screen=screen class Cpu: def calulate(self): print("算你个12345") print("cpu对象",self) class Screen: def show(self): print("显示一个好看的画面") print("screen:",self) #测试变量值 c1=Cpu() c2=c1 print(c1) print(c2) #测试浅复制 s1=Screen m1=MobilePhone(c1,s1) m2=copy.copy(m1) m1.cpu.calulate() print("*************************") print(m1.cpu) #print(m1,m1.cpu,m1.screen) #print(m2,m2.cpu,m2.screen)
老师 这个代码我还是不明白为什么给手机类传参传的是cpu类和screen类 第二个问题m1.cpu是不是就是指c1这个实例对象,所以m1.cpu.calulate就相当于c1.calulate 这样理解对吗
class Person: def __init__(self,name): self.name=name def __add__(self, other): if isinstance(other,Person): return "{0}-{1}".format(self.name,other.name) else: return "不是同类对象,不能相加" p1=Person("姬昊余") p2=Person("吕倩倩") x=p1+p2 print(x)
老师 对于这个判断other是否属于Person类这里 我的理解是 p2就代表other 但是p2跟p1都是Person的实例对象 所以这里执行了 if语句 如果p2不是person的实例对象 那么执行else语句 所以这里的判断只是看other是不是person的实例对象 这样的理解对吗
还有一个问题 other.name这里有点不明白 这里是不是之前讲的 所有的实例属性 在实例方法中都是共享的 所以这里的other可以使用这个name属性
class Man: def eat(self): print("吕倩倩的各种情绪") class GaoXing(Man): def eat(self): print("开心就像猫咪一样,好可爱啊") class ShengQi(Man): def eat(self): print("生气就像头牛一样,你好牛啊") class ChiFan(Man): def eat(self): print("饿了就像只猪一样,你好胖啊") def manEat(m): if isinstance(m,Man): m.eat() else: print("可可爱爱没有脑袋!") manEat(GaoXing())
老师 这个代码为什么传1 就不会报错(传入其他数字也不会报错) 而是执行else里的语句 但是传入其他字符串就会报错 没有定义
想问一下作业第一题,用python表达数学式,
表达式里面的字母,需要初始化赋值吗?
如果赋值,就是简单的运算,而不是表达数学式。
如果不赋值,就不能调用。
希望老师解答。
那个i%len(my_colors)是怎么取值呢?
意思就是说只要字符串里有同时出现“_ & 数字/字母” 驻留机制就会启动,如果字符串里出现除了前面提到的,驻留机制一律不会被启动?理解有误?
class SalaryAccount: '''工资计算类''' def _call_(self,salary): print("算工资啦。。") yearSalary=salary*12 daySalary=salary//22.5 hourSalary=daySalary//8 return dict(yearSalary=yearSalary,monthSalary=salary,daySalary=daySalary,hourSalary=hourSalary) s=SalaryAccount() print(s(30000))
老师,为什么运行的时候系统说
File "D:/Python_exec/mypy.13.py", line 43, in <module>
print(s(30000))
TypeError: 'SalaryAccount' object is not callable
Process finished with exit code 1
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637