Python在一行上分配两个变量

发布于 2021-01-29 17:02:02

class Domin():
def init(self , a, b) :
self.a=a , self.b=b

    def where(self):
        print 'face : ' , self.a , "face : " ,self.b

    def value(self):
        print self.a + self.b

d1=Domin(1 , 5)

d1=Domin(20 , 15)

我收到此错误:

Traceback (most recent call last):
  File "test2.py", line 13, in <module>
    d1=Domin(1 , 5)
  File "test2.py", line 5, in __init__
    self.a=a , self.b=b
TypeError: 'int' object is not iterable
关注者
0
被浏览
50
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您不能像这样在一行上放置两个语句。您的代码正在这样评估:

    self.a = (a, self.b) = b
    

    使用分号(再三考虑,不要这样做):

    self.a = a; self.b = b
    

    或使用序列拆包:

    self.a, self.b = a, b
    

    或者将其分为两行:

    self.a = a
    self.b = b
    

    我会做最后的办法。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看