Python在一行上分配两个变量
·
问题:Python在一行上分配两个变量
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
解答
您不能像这样将两个语句放在一行上。您的代码正在被这样评估:
self.a = (a, self.b) = b
要么使用分号(三思而后行,不要那样做):
self.a = a; self.b = b
或者使用序列解包:
self.a, self.b = a, b
或者只是将其分成两行:
self.a = a
self.b = b
我会用最后一种方式。
更多推荐
所有评论(0)