构造方法:传入 x,y,width,height,如何做到(x,y)不传而只传 width和 height ?
def turn1(*c): s=[] for i in c: s.append(i) print(s) print(s.sort()) return s.sort() q=turn1(1,2,3,4,5,6) print(q)
为什么为None?
QQ截图20190704220635.png
#encoding=utf-8 import turtle t=turtle.Pen() t.speed(10) s=[] while True: x=input("请输入点的坐标(以x,y的方式输入,以Q或q结束):") if x.upper()=="Q": break else: s.append(x) print(s) print(eval(s[0])) for i in s: for j in s: t.penup() t.goto(eval(i)[0],eval(i)[1]) t.pendown() t.goto(eval(j)[0],eval(j)[1]) turtle.done()
QQ截图20190704212502.png
老师,不知道为什么画图的窗口总是未响应?是代码有问题吗?
还有如果想一下同时输入x,y的值,有哪些办法?
QQ截图20190704201603.png
为什么这些章节在整个课程体系里没有了?
是不是只有该类或者该类的实例对象才可以调用该类的方法,该类的方法对于除了该类或者该类的实例对象以外的任何操作,方法,对象,属性,变量都没有影响?
#encoding=utf-8 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 "不是同类对象,不能相加" def __mul__(self, other): if isinstance(other,int): return self.name*other else: return "不是同类对象,不能相乘" p1 = Person("高淇") p2 = Person("高希希") x = p1 + p2 print(x) print(p1*3) x2=5+6 print(x2)
为什么__add__方法已经被重写,x2还能进行5+6的操作?
QQ截图20190704132443.png
super(Student,self).__init__(name,age)怎么理解?
”super(Student,self).__init__(name,age)是父类的,super().__init__(self,name,age)是子类。”这句话怎么理解?
老师 如果是三个相加呢,代码怎么写??不会写
QQ截图20190703121347.png
QQ截图20190703121356.png
一个类属性可以通过类或它的实例来调用吗?是两种都可以调用吗?
class Employee: __id=1000 __name=None __salary=None def __init__(self,name,salary): self.__name=name self.___salary=salary Employee.__id+=1 def __add__(self,other): if isinstance(self,Employee): return self.salary+other.salary else: print("error") @property def salary(self): return self.salary @salary.setter def salary(self,salary): if 1000<=salary<=50000: self.__salary=salary else: print("error") A=Employee("A",2000) A.salary
代码如上,
可是为什么会这样?
class ComputerFactory: x=None y=True def __new__(cls, *args, **kwargs): if ComputerFactory.x==None: ComputerFactory.x=object.__new__(cls) return ComputerFactory.x def __init__(self): if ComputerFactory.y: print("just one factory") ComputerFactory.y=False def create_computer(self,brand): if brand=="联想": return lenovo() if brand=="华硕": return asus() if brand=="神州": return hasee() print("finish creating") class computer: screen="liquid crystal" keyboard=True def caculate(self): print("Make computer") class lenovo(computer): def caculate(self): print("Lenovo") class asus(computer): def caculate(self): print("ASUS") class hasee(computer): def caculate(self): print("Hasee") C1=ComputerFactory().create_computer("联想") C2=ComputerFactory().create_computer("华硕") C3=ComputerFactory().create_computer("神州") print(C1,C2,C3)
老师,代码末尾几行,如果说写成C1=ComputerFactory.create_computer("联想"),就是类ComputerFactory后没加括号,python报错说需要两个参数 这是为什么?
老师,我现在遇到一个问题,我在命名函数时,一旦命名为test开头的函数名后,前面会自动变成测试的状态,运行结果也跟平常状态不一样了。视频里不会出现这种情况,怎么解决?
print(type(str)) print(type(dict)) print(type(int)) print(type(list)) print(type(tuple)) print(type(set)) def test(): pass class Person(): def run(self): pass a = Person() c = a.run print(type(test)) print(type(c)) print(type(function)) print(type(method))
二、运行结果
三、疑问
老师你好,请问6个基本数据类型的模具类是type .python中一切都是对象,type 类实例化了所类,所有类继承与object类,用type方法 查看方法和函数的类型却报错了,他们不是type类的实例吗,
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637