Skip to main content
 首页 » 编程设计

python之多目标分配

2025年05月04日14over140

我正在阅读一本关于 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 语法糖,让事情变得更简单/更清晰。