我正在阅读一本关于 Python 的书,书中有一个关于多目标分配的特殊部分。现在这本书是这样解释的:
但我没有看到它的用途。这对我来说毫无意义。为什么要使用更多变量? 有理由这样做吗?这与使用 a='spam' 然后打印 3 次 a 有何不同?
我只能想到用它来清空一行中的变量。
请您参考如下方法:
多重赋值的一个很好的用途是将一堆变量设置为相同的数字。
下面是一个演示:
>>> vowels = consonants = total = 0
>>> mystr = "abcdefghi"
>>> for char in mystr:
... if char in "aeiou":
... vowels += 1
... elif char in "bcdfghjklmnpqrstvwxyz":
... consonants += 1
... total += 1
...
>>> print "Vowels: {}\nConsonants: {}\nTotal: {}".format(vowels, consonants, total)
Vowels: 3
Consonants: 6
Total: 9
>>>
如果没有多重赋值,我必须这样做:
>>> vowels = 0
>>> consonants = 0
>>> total = 0
如您所见,这要冗长得多。
总而言之,多重赋值只是 Python 语法糖,让事情变得更简单/更清晰。
