• 3.1.1. 数字

    3.1.1. 数字

    解释器就像一个简单的计算器一样:你可以在里面输入一个表达式然后它会写出答案。 表达式的语法很直接:运算符 +-*/ 的用法和其他大部分语言一样(比如 Pascal 或者 C 语言);括号 (()) 用来分组。比如:

    1. >>> 2 + 2
    2. 4
    3. >>> 50 - 5*6
    4. 20
    5. >>> (50 - 5*6) / 4
    6. 5.0
    7. >>> 8 / 5 # division always returns a floating point number
    8. 1.6

    整数(比如 2420 )有 int 类型,有小数部分的(比如 5.01.6 )有 float 类型。在这个手册的后半部分我们会看到更多的数值类型。

    除法运算 (/) 永远返回浮点数类型。如果要做 floor division 得到一个整数结果(忽略小数部分)你可以使用 // 运算符;如果要计算余数,可以使用 %

    1. >>> 17 / 3 # classic division returns a float
    2. 5.666666666666667
    3. >>>
    4. >>> 17 // 3 # floor division discards the fractional part
    5. 5
    6. >>> 17 % 3 # the % operator returns the remainder of the division
    7. 2
    8. >>> 5 * 3 + 2 # result * divisor + remainder
    9. 17

    在Python中,可以使用 ** 运算符来计算乘方 1

    1. >>> 5 ** 2 # 5 squared
    2. 25
    3. >>> 2 ** 7 # 2 to the power of 7
    4. 128

    等号 (=) 用于给一个变量赋值。然后在下一个交互提示符之前不会有结果显示出来:

    1. >>> width = 20
    2. >>> height = 5 * 9
    3. >>> width * height
    4. 900

    如果一个变量未定义(未赋值),试图使用它时会向你提示错误:

    1. >>> n # try to access an undefined variable
    2. Traceback (most recent call last):
    3. File "<stdin>", line 1, in <module>
    4. NameError: name 'n' is not defined

    Python中提供浮点数的完整支持;包含多种混合类型运算数的运算会把整数转换为浮点数:

    1. >>> 4 * 3.75 - 1
    2. 14.0

    在交互模式下,上一次打印出来的表达式被赋值给变量 _。这意味着当你把Python用作桌面计算器时,继续计算会相对简单,比如:

    1. >>> tax = 12.5 / 100
    2. >>> price = 100.50
    3. >>> price * tax
    4. 12.5625
    5. >>> price + _
    6. 113.0625
    7. >>> round(_, 2)
    8. 113.06

    这个变量应该被使用者当作是只读类型。不要向它显式地赋值——你会创建一个和它名字相同独立的本地变量,它会使用魔法行为屏蔽内部变量。

    除了 intfloat,Python也支持其他类型的数字,例如 Decimal 或者 Fraction。Python 也内置对 复数 的支持,使用后缀 j 或者 J 就可以表示虚数部分(例如 3+5j )。