python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python常用运算符和优先级

python中的常用运算符和优先级

作者:打螺丝否

这篇文章主要介绍了python中的常用运算符和优先级,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

算术运算符

运算符名称说明例子
+、-、*、/加、减、乘、除字符串之间相加即为连接,字符串与数字相乘即为重复 ,两个数相除结果总为浮点数‘a’+‘b’得到’ab’,‘la’*3得到’lalala’
**指数运算,返回x的y次幂3**4得到81,相当于 pow()函数
//取商数返回商的整数部分(不大于x与y之商的最大整数)4//3.0得到1.0,4//3得到1
%取余数(取模)返回除法的余数(不同语言可能结果不一样,个人理解在python中运算结果是商往负无穷方面取临近整数时的得到余数)-16%3得到2,16%(-3)得到-2,-16%-3得到-1,-25.5%2.25得到1.5

注:

1.三种类型存在一种逐渐扩展或变宽的关系:整数 -> 浮点数 -> 复数

2.类型间混合运算,生成结果为“最宽”的类型。例如整数 + 浮点数 = 浮点数

3.在运算过程中会要求两个操作数类型一致,当操作数类型不一致时,系统会自动将低类型向高类型转换后计算。例如x=2.3;y=5;x+y返回7.3

print(-25.5%2.25)
print(-25.5/2.25)
print(divmod(-25.5,2.25))  #divmod同时取商和余数
print(divmod(25.5,2.25))

输出结果:

1.5
-11.333333333333334
(-12.0, 1.5)
(11.0, 0.75)

比较运算符

运算符名称说明例子
<,>,<=,>=返回False或者True3<5<7返回True
==,!=等于,不等于返回False或者Truex=‘abc’;y='Abc’则x==y返回False

逻辑运算符

运算符名称说明例子
not布尔非返回False或者Truenot 5返回False,not 0返回True
and布尔与返回False或者True1 and 45返回45(两个都是真值时取第二个值)
or布尔或返回False或者TrueTrue or False返回True

注:

1.“与”运算 a and b 时,如果a为假,a and b就返回假,否则返回b的值

2.“或”运算 a or b时,如果a非0,返回a的值,否则返回b的值

3.“非”运算 not a 时,如果a为真,就返回假,如果a为假,就返回真

(巧记: and 和 or 都是前一个值进行决定性判断,如果能对前一个值做出决定性判断则返回前一个值,如果不能得出决定性判断,就返回第二个值。and 前一个为假则必为假,or 前一个为真则必为真,可以把这个理解为决定性判断。)

print(0 and 11)
print(18 and 7)
print(18 and 0)
print(True and False)
print(False and True)

输出结果:

0
7
0
False
False

print(5 or 88)
print(5 or False)
print(0 or 9)
print(False or 0)
print(0 or False)

输出结果:

5
5
9
0
False

赋值运算符

=、+=、-=、*=、/=、%=、**=、//=

>>> a = 3
>>> b = 6
>>> c = 0
>>> c = a + b
>>> c += 5  # 9+5
>>> c
14
>>> c -= a  # 14-3
>>> c
11
>>> c *= a  # 11*3
>>> c
33
>>> c /= a  # 33/3
>>> c
11.0
>>> c %= a  # 11.0/3
>>> c
2.0
>>> c **= a  # 2.0的3次幂
>>> c
8.0
>>> c //=a  # 8.0//3
>>> c
2.0
>>> 

常用运算符的优先级

运算符(从低到高,同一行优先级相同)
lambda 表达式
or 布尔或
and 布尔与
not 布尔非
in、not in(成员测试)
is、is not(同一性测试)
<、<=、>、>=、!=、==
+、-
*、/、%
**

注:

如果想要改变它们的计算顺序,可以使用圆括号()。

  #比较部分优先级
print((1 in [1,0]) == True)  #True
print(1 in [1, 0] == True)  #False
print((2 > 1) is True)  #True
print(2 > 1 is True)  #False

输出结果:

True
False
True
False

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文