多目标分配

Lok*_*oko 1 python variable-declaration

我正在读一本关于Python的书,关于多目标任务的书中有一个特殊的部分.现在这本书解释如下:

在此输入图像描述

但我没有看到这个的使用.这对我来说毫无意义.为什么要使用更多变量?有理由这样做吗?是什么让这与使用如此不同:a='spam'然后打印a3次?

我只能想到用它来清空一行中的变量.

iCo*_*dez 6

多次分配的一个很好的用途是将一堆变量设置为相同的数字.

以下是演示:

>>> 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
>>>
Run Code Online (Sandbox Code Playgroud)

如果没有多次分配,我必须这样做:

>>> vowels = 0
>>> consonants = 0
>>> total = 0
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这更加冗长.

总而言之,多项任务只是Python语法糖,使事情更容易/更清洁.