你好,关于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)] 但是提示出错,请问应该怎么改

回复

共1条回复 我来回复
  • 毕设小屋
    这个人很懒,什么都没有留下~
    评论

    首先你定义了两次 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>
    
    0条评论

发表回复

登录后才能评论