3.Python的非正式介绍
在以下示例中,输入和输出通过提示的存在与否来区分(>>>和…):
要重复此示例,当提示出现时,必须在提示后键入所有内容;不以提示开头的行是从解释器输出的。请注意,在示例中,行上的辅助提示本身意味着您必须键入空行;这用于结束多行命令。
本手册中的许多示例,甚至是在交互提示下输入的示例,都包含注释。Python中的注释以散列字符#开始,并扩展到物理行的末尾。注释可以出现在行的开头或空格或代码之后,但不能出现在字符串文本中。字符串文本中的散列字符只是散列字符。由于注释是为了澄清代码,而不是由Python解释,因此在示例中键入时可以省略注释。
一些例子:
# this is the first comment
spam = 1 # and this is the second comment
# ... and now a third!
text = "# This is not a comment because it's inside quotes."
3.1.Python 作为计算器使用
让我们尝试一些简单的Python命令。启动解释器并等待主提示, >>>(应该不会花太长时间。)
3.1.1 Numbers 数字类型
解释器就像一个简单的计算器:你可以在它上面输入一个表达式,它会写下这个值。表达式语法很简单:运算符 + 、 - 、 * 和 / 的工作方式与大多数其他语言(例如,Pascal或C)一样;括号(())可用于分组。
例如:
>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5 # division always returns a floating point number
1.6
整数(如2、4、20)的类型为int,小数部分(如5.0、1.6)的类型为float。我们将在教程后面看到更多关于数字类型的内容。
除法(/)总是返回一个浮点值。要进行楼层除法并获得整数结果(丢弃任何分数结果),可以使用//运算符;要计算余数,可以使用%:
>>> 17 / 3 # classic division returns a float
5.666666666666667
>>>
>>> 17 // 3 # floor division discards the fractional part
5
>>> 17 % 3 # the % operator returns the remainder of the division
2
>>> 5 * 3 + 2 # result * divisor + remainder
17
使用Python,可以使用 ** 运算符计算幂:
>>> 5 ** 2 # 5 squared
25
>>> 2 ** 7 # 2 to the power of 7
128
等号 (=) 用于给一个变量赋值。然后在下一个交互提示符之前不会有结果显示出来:
>>> width = 20
>>> height = 5 * 9
>>> width * height
900
如果一个变量未定义(未赋值),试图使用它时会向你提示错误:
>>> n # try to access an undefined variable
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined
Python中提供浮点数的完整支持;包含多种混合类型运算数的运算会把整数转换为浮点数:
>>> 4 * 3.75 - 1
14.0
在交互模式下,上一次打印出来的表达式被赋值给变量 _。这意味着当你把Python用作桌面计算器时,继续计算会相对简单,比如:
注意:round() 函数并不是我们意义上的四舍五入,而是0到5舍,6-9入,会遇到边界5的时候并不会进一位,这次会产生异议,请大家注意!
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
这个变量应该被使用者当作是只读类型。不要向它显式地赋值——你会创建一个和它名字相同独立的本地变量,它会使用魔法行为屏蔽内部变量。
除了 int 和 float,Python也支持其他类型的数字,例如 Decimal 或者 Fraction。Python 也内置对 复数 的支持,使用后缀 j 或者 J 就可以表示虚数部分(例如 3+5j )。