第3章 - 运算符 和 基础函数
3.1 运算符
Python支持一下7种运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
3.1.1 算术运算符
运算符 |
描述 |
实例 |
+ |
加:两个对象相加 |
5+2 = 7 |
- |
减:得到负数或一个数减去另一个数 |
5-2 = 3 |
* |
乘:两个数相乘 或 返回一个被重复若干次的字符串 |
5*2 = 10 |
/ |
除:x除以y |
5/2 = 2.5 |
% |
取模:返回除数的余数 |
5%2 = 1 |
** |
幂:返回x的y次幂 |
10**5(10的5次方) = 100000 |
// |
取整除(地板除),返回商的整数部分 |
9//2 = 4,9.0//2.0 = 4.0 |
3.1.2 比较运算符
运算符 |
描述 |
实例 |
== |
是否等于 |
10 == 20 = False |
!= |
不等于 |
10 != 20 = True |
> |
大于 |
10 > 20 = False |
< |
小于 |
10 < 20 = True |
>= |
大于等于 |
10 >= 20 = False |
<= |
小于等于 |
10 <= 20 = True |
3.1.3 赋值运算符
运算符 |
描述 |
实例 |
= |
赋值 |
c=a+b,将a+b的运算结果赋值给c |
+= |
加法赋值 |
c +=a 等价于 c = c + a |
-= |
减法赋值 |
c -=a 等价于 c = c - a |
*= |
乘法赋值 |
c *=a 等价于 c = c * a |
/= |
除法赋值 |
c /=a 等价于 c = c / a |
%= |
取模法赋值 |
c %=a 等价于 c = c % a |
**= |
幂赋值 |
c **=a 等价于 c = c ** a |
//= |
取整(地板)除赋值 |
c //=a 等价于 c = c // a |
3.1.4 位运算符
运算符 |
描述 |
实例 |
& |
按位与,对应二进制位均为1,结果为1 |
1100 & 1010 = 1000 |
| |
按位或,对应二进制位有一个位位1,结果为1 |
1100 | 1010 = 1110 |
^ |
按位异或,对应二进制位相异时,结果为1 |
1100 ^ 1010 = 0110 |
~ |
按位取反,对每个二进制位取反 |
~1100 = 0011 |
<< |
左移运算符,高位丢弃,低位补0 |
1 << 3 (0001 << 3) = 8 (1001) |
>> |
右移运算符,高位补0,低位丢弃 |
8 >> 3 (1000 >> 3) = 1 (0001) |
3.1.5 逻辑运算符
运算符 |
描述 |
实例 |
and |
布尔"与",x and y |
True and True = True |
or |
布尔"或",x or y |
True and False = True |
not |
布尔"非",not x |
not True = False |
3.1.6 成员运算符
运算符 |
描述 |
in |
如果在指定序列找到值,返回True,否则返回False |
not in |
如果在指定序列找到值,返回False,否则返回True |
实例:
list = [1, 2, 3, 4, 5]
print(1 in list) # True
print(1 not in list) # False
3.1.7 身份运算符
运算符 |
描述 |
is |
判断两个标识符是否引用自一个对象 |
is not |
判断两个标识符是否引用自不同对象 |
实例:
idA = 10
idB = 10
print(idA is idB) # True
print(idA is not idB) # False
idB = 20
print(idA is idB) # False
print(idA is not idB) # True
3.1.8 运算符优先级
运算符 |
描述 |
() |
()内的表达式拥有最高优先级 |
** |
指数(次高优先级) |
~ + - |
按位翻转,一元加号 和 减号 |
* / % // |
乘、除、取模、取整除 |
+ - |
加法、减法 |
>> << |
右移,左移 |
& |
位与 |
^ | |
位运算符 |
<= < > >= |
比较运算符 |
<> == != |
等于运算符 |
= %= /= //= -= += *= **= |
赋值运算符 |
is is not |
身份运算符 |
in not in |
成员运算符 |
not or and |
逻辑运算符 |
3.2 数学函数
https://www.runoob.com/python3/python3-number.html
3.2.1 数学函数
函数 |
返回值 ( 描述 ) |
abs(x) |
返回数字的绝对值,如abs(-10) 返回 10 |
ceil(x) |
返回数字的上入整数,如math.ceil(4.1) 返回 5 |
cmp(x, y) |
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换。 |
exp(x) |
返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
fabs(x) |
返回数字的绝对值,如math.fabs(-10) 返回10.0 |
floor(x) |
返回数字的下舍整数,如math.floor(4.9)返回 4 |
log(x) |
如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) |
返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,...) |
返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,...) |
返回给定参数的最小值,参数可以为序列。 |
modf(x) |
返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) |
x**y 运算后的值。 |
round(x [,n]) |
返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
sqrt(x) |
返回数字x的平方根。 |
3.2.2 随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
函数 |
描述 |
choice(seq) |
从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 |
randrange ([start,] stop [,step]) |
从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1 |
random() |
随机生成下一个实数,它在[0,1)范围内。 |
seed([x]) |
改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。 |
shuffle(lst) |
将序列的所有元素随机排序 |
uniform(x, y) |
随机生成下一个实数,它在[x,y]范围内。 |
3.2.3 三角函数
Python包括以下三角函数:
函数 |
描述 |
acos(x) |
返回x的反余弦弧度值。 |
asin(x) |
返回x的反正弦弧度值。 |
atan(x) |
返回x的反正切弧度值。 |
atan2(y, x) |
返回给定的 X 及 Y 坐标值的反正切值。 |
cos(x) |
返回x的弧度的余弦值。 |
hypot(x, y) |
返回欧几里德范数 sqrt(xx + yy)。 |
sin(x) |
返回的x弧度的正弦值。 |
tan(x) |
返回x弧度的正切值。 |
degrees(x) |
将弧度转换为角度,如degrees(math.pi/2) , 返回90.0 |
radians(x) |
将角度转换为弧度 |