- 2.3 变量
2.3 变量
从第1节一开始,你已经访问过名为text1
, text2
等的文本。像这样只输入简短的名字来引用一本 250,000 字的书节省了很多打字时间。一般情况下,我们可以对任何我们关心的计算命名。我们在前面的小节中已经这样做了,例如定义一个变量变量 sent1
,如下所示:
>>> sent1 = ['Call', 'me', 'Ishmael', '.']
>>>
这样的语句形式是: 变量 = 表达式 。Python 将计算右边的表达式把结果保存在变量中。这个过程叫做赋值。它并不产生任何输出,你必须在新的一行输入变量的名字来检查它的内容。等号可能会有些误解,因为信息是从右边流到左边的。你把它想象成一个左箭头可能会有帮助。变量的名字可以是任何你喜欢的名字,如my_sent
, sentence
, xyzzy
。变量必须以字母开头,可以包含数字和下划线。下面是变量和赋值的一些例子:
>>> my_sent = ['Bravely', 'bold', 'Sir', 'Robin', ',', 'rode',
... 'forth', 'from', 'Camelot', '.']
>>> noun_phrase = my_sent[1:4]
>>> noun_phrase
['bold', 'Sir', 'Robin']
>>> wOrDs = sorted(noun_phrase)
>>> wOrDs
['Robin', 'Sir', 'bold']
>>>
请记住,排序表中大写字母出现在小写字母之前。
注意
请注意,在前面的例子中,我们将my_sent
的定义分成两行。Python 表达式可以被分割成多行,只要它出现在任何一种括号内。Python 使用”...
“提示符表示期望更多的输入。在这些连续的行中有多少缩进都没有关系,只是加入缩进通常会便于阅读。
最好是选择有意义的变量名,它能提醒你代码的含义,也帮助别人读懂你的 Python 代码。Python 并不会理解这些名称的意义;它只是盲目的服从你的指令,如果你输入一些令人困惑的代码,例如one = 'two'
或two = 3
,它也不会反对。唯一的限制是变量名不能是 Python 的保留字,如def
, if
, not
, 和import
。如果你使用了保留字,Python 会产生一个语法错误:
>>> not = 'Camelot'
File "<stdin>", line 1
not = 'Camelot'
^
SyntaxError: invalid syntax
>>>
我们将经常使用变量来保存计算的中间步骤,尤其是当这样做使代码更容易读懂时。因此,len(set(text1))
也可以写作:
>>> vocab = set(text1)
>>> vocab_size = len(vocab)
>>> vocab_size
19317
>>>
小心!
为 Python 变量选择名称(标识符)时请注意。首先,应该以字母开始,后面跟数字(0
到9
)或字母。因此,abc23
是好的,但是23abc
会导致一个语法错误。名称是大小写敏感的,这意味着myVar
和myvar
是不同的变量。变量名不能包含空格,但可以用下划线把单词分开,例如my_var
。注意不要插入连字符来代替下划线:my-var
不对,因为 Python 会把”-
“解释为减号。