Python assigning two variables on one line
19,003
You cannot put two statements on one line like that. Your code is being evaluated like this:
self.a = (a, self.b) = b
Either use a semicolon (on second thought, don't do that):
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.
Related videos on Youtube
Author by
tabebqena
Updated on June 04, 2022Comments
-
tabebqena over 1 year
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
-
Tanky WooYou should use
;
instead of,
in__init__
.
-
-
rickcnagy over 9 years+1 for sequence unpacking. Definitely can be useful to save space when instantiating several variables to something like
0
, such as counters -
Blender over 9 years@br1ckb0t: If they all have the same value, you can just do
a = b = c = 0
.