目录
一、数字类型
1.1 整数 integers
python整数长度是不受限制的,有无限大的精度,可以随时随地进行大数运算:
小数在python中是以浮点数的形式存放的。
1.2 浮点数 floating point numbers
由上可见,python的浮点数是有误差的,是因为python和C语言一样都是采用IEEE754的标准来存储浮点数的,所以会产生一定程度的误差。
要想精确计算浮点数,就要使用到decimal
E记法:科学计数法,用来表示一些比较极端的数,例如以下5e-05 = 5 * 10^-5
1.3 复数 complex numbers
复数包含一个实部和一个虚部,例如以下 1 表示实部, 2j 表示虚部,都是以浮点数形式存放。
若将一个复数赋值给变量x,可以通过 x.real
来获取它的实部数值,通过 x.imag
来获取虚部数值,且都是浮点数:
1.5 数字运算
python支持的数字运算:
地板除: 取比目标结果小的最大整数,即向下取整。
x % y: x除以y的余数。
x == (x//y) * y + (x%y)
🌟:地板除的结果✖️除数 + 余数 = 被除数。
divmod(x, y): 返回(x//y, x%y)
abs(x): x的绝对值,若传入的是一个复数,则取模。
int(x): 将x转换成整数,截掉小数部分。
float(x): 将x转换成浮点数。
complex(re,im): 返回一个复数,re食部,im虚部。引号中不可有空格!
pow(x,y): 计算x的y次方。
x**y: 计算x的y次方。
⚠️:pow(x,y,z): 表示先 x^y, 再用结果对 z 进行取余。
二、布尔类型 Boolean
字符串除了空字符串为False,其他都为True。
数值除了结果为 0 为False,其他都为True。
结果为False的情况可归为以下几类:
1.定义为False的对象: None 和 False;
2.值为 0 的数字类型: 0, 0.0, 0j, Decimal(0), Fraction(0,1)
3.空的序列和集合:", (), [], {}, set(), range(0)
tips: Fraction(0,1)表示分子为0,分母为1的有理数。
⚠️:布尔类型是特殊证书类型,所以不可以进行除法运算。
逻辑运算符 Boolean Operation
python中任何对象都能直接进行真值测试(测试该对象的布尔类型值为 True 或 False),用于 if 或 while 语句的条件判断,也可以作为布尔逻辑运算符的操作数。
三、短路逻辑
and 与 or 遵循 短路逻辑,什么是短路逻辑?
短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
若 and 左边确定结果为true,还需确定右边。若 and 左边结果为false,则不用确定右边。
若 or 左边确定结果为true,则不用确定右边。若 or 左右结果为false,则要确定右边。
Python不用计算完所有结果再处理,而是直接扔出影响结果的关键值。所以以下运算只要到能确定结果那一步就可以停止了:
四、运算符优先级 Operator precedence
所以: