3.Python 简介
下面的例子中,输入和输出分别由大于号和句号提示符 ( >>>
和 ...
) 标注:如果想重现这些例子,就要在解释器的提示符后,输入 (提示符后面的) 那些不包含提示符的代码行。需要注意的是在练习中遇到的从属提示符表示你需要在最后多输入一个空行,解释器才能知道这是一个多行命令的结束。
本手册中的很多示例 (包括那些带有交互提示符的) 都含有注释。Python 中的注释以 #
字符起始,直至实际的行尾 (译注:这里原作者用了 physical line 以表示实际的换行而非编辑器的自动换行)。注释可以从行首开始,也可以在空白或代码之后,但是不出现在字符串中。文本字符串中的 #
字符仅仅表示 #
。代码中的注释不会被 Python 解释,录入示例的时候可以忽略它们。
如下示例:
# this is the first comment
SPAM = 1 # and this is the second comment
# ... and now a third!
STRING = "# This is not a comment."
3.1. 将 Python 当做计算器
我们来尝试一些简单的 Python 命令。启动解释器然后等待主提示符 >>>
出现。(不需要很久)
3.1.1. 数字
解释器表现得就像一个简单的计算器:可以向其录入一些表达式,它会给出返回值。表达式语法很直白:运算符 +
,-
,*
和 /
与其它语言一样(例如:Pascal 或 C);括号 (()
) 用于分组。例如:
>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5.0*6) / 4
5.0
>>> 8 / 5.0
1.6
整数(例如,2
, 4
, 20
)的类型是 int,带有小数部分的数字(例如,5.0
, 1.6
)的类型是 float。在本教程的后面我们会看到更多关于数字类型的内容。
除法 (/
) 返回的类型取决于它的操作数。如果两个操作数都是 int,将采用 floor division 除法(floor division)并返回一个 int。如果两个操作数中有一个是 float,将采用传统的除法并返回一个 float。还提供 //
运算符用于 floor division 而无论操作数是什么类型。余数可以用 %
操作符计算:
>>> 17 / 3 # int / int -> int
5
>>> 17 / 3.0 # int / float -> float
5.666666666666667
>>> 17 // 3.0 # explicit floor division discards the fractional part
5.0
>>> 17 % 3 # the % operator returns the remainder of the division
2
>>> 5 * 3 + 2 # result * divisor + remainder
17
通过 Python,还可以使用 **
运算符计算幂乘方 [1]:
>>> 5 ** 2 # 5 squared
25
>>> 2 ** 7 # 2 to the power of 7
128
等号( '='
)用于给变量赋值。赋值之后,在下一个提示符之前不会有任何结果显示:
>>> width = 20
>>> height = 5*9
>>> width * height
900
变量在使用前必须 “定义”(赋值),否则会出错:
>>> # try to access an undefined variable
... n
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined
浮点数有完整的支持;与整型混合计算时会自动转为浮点数:
>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5
交互模式中,最近一个表达式的值赋给变量 _
。这样我们就可以把它当作一个桌面计算器,很方便的用于连续计算,例如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
此变量对于用户是只读的。不要尝试给它赋值 —— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。