>>> from env_helper import info; info()
页面更新时间: 2023-04-15 21:15:58
运行环境:
Linux发行版本: Debian GNU/Linux 12 (bookworm)
操作系统内核: Linux-6.1.0-7-amd64-x86_64-with-glibc2.36
Python版本: 3.11.2
1.5. 变量¶
另一个你可能熟悉的概念是变量(variable)。 如果代数对你来说不过是遥远的记忆,也不用 担心,因为Python中的变量理解起来很容易。
1.5.1. 在变量中保存值¶
“变量”就像计算机内存中的一个盒子,其中可以存放一个值。如果你的程序 稍后将用到一个已求值的表达式的结果,就可以将它保存在一个变量中。 变量是表示(或指向)特定值的名称。
1.5.2. 赋值语句¶
用“赋值语句”将值保存在变量中。赋值语句包含一个变量名、一个等号(称为赋值操作符),以及要存储的值。如果输入赋值语句
spam = 42
,那么名为 spam
的变量将保存一个整型值42。
可以将变量看成一个带标签(变量名)的盒子,值放在其中。spam = 42
就像是告诉程序“变量 spam
现在有整数42放在里面”。
例如,在交互式环境中输入以下内容:
>>> spam = 40
这称为赋值(assignment),我们将值 40
赋给了变量 spam
。换而言之,就是将变量 span
与值(或对象) 3
关联起来。
>>> spam
40
不同于其他一些语言,使用Python变量前必须给它赋值,因为Python变量没有默认值。
>>> eggs = 2
给变量赋值后,就可在表达式中使用它。
>>> spam + eggs
42
>>> spam + eggs + spam
82
>>> spam
40
第一次存入一个值,变量就被“初始化”(或创建)。此后,可以在表达式中
使用它,以及其他变量和值。如果变量被赋了一个新值,老值就被忘记了。这就是为什么在例子结束时,spam
求值为42
,而不是40
。这称为“覆写”该变量。
在交互式环境中输入以下代码,尝试覆写一个字符串:
>>> spam = 'Hello'
>>> spam
'Hello'
>>> spam = 'Goodbye'
>>> spam
'Goodbye'
Goodbye1
就像盒子,这个例子中的 spam
变量保存了 'Hello'
,直到你用 'Goodbye'
替代它。
1.5.3. 变量名的基本要求¶
下表中有一些合法变量名的例子。你可以给变量取任何名字,只要它遵守以下3条规则:
只能是一个词,即中间不能有空格。
只能包含字母、数字和下划线
_
。不能以数字开头。
在Python 3.x中,可以使用Unicode编码,如汉字。
有效和无效的变量名
有效的变量名 | 无效的变量名 |
---|---|
balance | current-balance(不允许中划线) |
currentBalance | current balanc(不允许空格) |
current_balance | 4account(不允许数字开头) |
_spam | 42(不允许数字开头) |
SPAM | total__\(um(不允许\)这样的特殊字符) |
account4 | ‘hello’(不允许’这样的特殊字符) |
>>> current-balance = 10
Cell In [12], line 1
current-balance = 10
^
SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='?
>>> current balance = 10
Cell In [13], line 1
current balance = 10
^
SyntaxError: invalid syntax
>>> 4accout = 10
Cell In [14], line 1
4accout = 10
^
SyntaxError: invalid decimal literal
>>> total__𝑢𝑚 = 10
>>> ‘hello’ = 10
Cell In [16], line 1
‘hello’ = 10
^
SyntaxError: invalid character '‘' (U+2018)
看一下使用汉字的变量:
>>> 变量是我 = 'The variable is me.'
>>> print(变量是我)
The variable is me.
1.5.4. 变量名的风格¶
变量名是区分大小写的。这意味着, spam
、 SPAM
、 Spam
和
sPaM
是4个不 同的变量。变量用小写字母开头是Python的惯例。
变量名可以使用驼峰形式,没有用下划线。也就是说,变量名用
lookLikeThis
,而不是 looking_like_this
。
一些有经验的程序员可能会指出,官方的 Python代码风格PEP
8,即应该使用下划线。
有人喜欢驼峰式命名法,这没有错,如果有怀疑,请参见 PEP 8 “愚蠢的一致性是头脑狭隘人士的心魔”:
“一致地满足风格指南是重要的。但最重要的是,知道何时要不一致,因为有 时候风格指南就是不适用。如果有怀疑,请相信自己的最佳判断。”
1.5.5. 关于变量名称¶
好的变量名描述了它包含的数据。 设想你搬到一间新屋子,搬家纸箱上标的都是“东西”。 你永远找不到任何东西!
在一些教程或脚本程序中,有时为了方便,使用 var1
, spam
、
eggs
和 bacon
等变量名作为一般名称,
但在程序中,具有描述性的名字有助于提高代码可读性。