Python assigns two variables on the same line

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) 

I get this error:

 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 
+7
source share
1 answer

You cannot put two statements on the same line. Your code is evaluated as follows:

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

Use a semicolon (in another way, don't do this):

 self.a = a; self.b = b 

Or use sequence unpacking:

 self.a, self.b = a, b 

Or just split it into two lines:

 self.a = a self.b = b 

I would do it the last way.

+22
source

All Articles