你好,关于python列表生成式有个问题想请教一下
课程设计
1
x='abc'
y=123
想要输出a=1,b=2,c=3,我是这么写的:
x='abc'
y=123 [k+'='+v for k in x for v in y if isinstance(y,str) else v for v in str(y)] 但是提示出错,请问应该怎么改
-
首先你定义了两次 init(), 就像变量被赋值了两次一样,两次定义中,第一次的失效了.init()用的是第二次定义的内容. 然后init(self)的形参self是表示类本身,会自动传入,无需给出.所以调用init()无需给出参数. 后面的调用可以解释为: v1 = Vector(1,2) TypeError: init() takes 1 positional argument but 3 were given 需要一个参数(self自动传入了),给了3个参数(self,1,2)
最后要明确的是 构造函数的写法是
def __init__(self): <code>
发表回复