基础数学运算
Pythora 星球的人常常会把 Python 当做计算器来用,尤其是需要计算很多数据的时候,它比计算器还方便。Python 不仅支持基本的数学运算,如加法、 减法、乘法和除法,还支持更复杂的数学操作,如指数运算、模运算、整数除法等。
整数 (Integers)
四则运算
Python 对于整数的运算与数学表达式基本一致,比如最简单的加减法运算:
print(3 + 2) # 输出 5
print(5 - 2) # 输出 3
Python 和大多数语言一样,使用星号 * 表示乘法,使用斜杠 / 表示除法。在 Python 2 中, 整数的 / 运算返回的依然还是整数结果,但在目前主要使用的 Python 3 中,整数的 / 运算结果可能是个浮点数。Python 3 使用双斜杠 // 表示整除运算;使用百分号 % 表示取模(余数)运算;使用双星号 ** 表示幂运算:
print(4 * 3) # 输出 12
print(8 / 3) # 输出 2.666...
print(8 // 3) # 输出 2
print(8 % 3) # 输出 2
print(2 ** 4) # 输出 16
+ 和 - 除了表示加法减法之外,还被用来表示正负数,比如 +2、-5 等,正负号运算级别要高于其它运算符。那么大家猜一下运行下面的程序会出现什么结果?
print(2*-5)
print(1+++2)
print(1+-+-+-+-+2)
进制
Python 中可以使用不同进制来表示一个整数。最常见的十进制(Decimal)整数是没有特殊的前缀的,比如 42。
二进制(Binary)整数使用 0b 或 0B 前缀来表示,比如 0b101010 表示十进制的 42。
八进制(Octal)整数使用 0o 或 0O 前缀来表示,比如 0o52 表示十进制的 42。
十六进制(Hexadecimal)整数使用 0x 前缀来表示,比如 0x2A 或 0x2a 表示十进制的 42。
使用 Python 的内置函数可以把一个整数转换成不同进制的字符串:
bin(x):将整数 x 转换为二进制字符串。 oct(x):将整数 x 转换为八进制字符串。 hex(x):将整数 x 转换为十六进制字符串。 int(string, base):将字符串转换为整数。如果字符串带有 0b 或 0x 等前缀,可以将 base 设为 0,Python 会自动识别进制。
比如:
x = 42
print(bin(x)) # 输出 '0b101010'
print(oct(x)) # 输出 '0o52'
print(hex(x)) # 输出 '0x2a'
y = '0b101010'
print(int(y, 2)) # 输出 42,自动识别二进制
用函数 int() 可以把其它类型的数据转换成整数。