分享

Python运算符及数值运算函数汇总讲解

 nxhujiee 2022-12-19 发布于宁夏

1. 运算符

1.1运算符的概念

运算符⽤于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进⾏运算。
例如:2+3,其操作数是2和3,⽽运算符则是“+”

1.2运算符的分类

算术运算符
赋值运算符
⽐较运算符(关系运算符
逻辑运算符
条件运算符(三元运算符)

2. 算术运算符

(1) 加法运算符 ( +)(数值/数值)(字符/字符)

(2) 减法运算符 ( -)

(3) 乘法运算符 (*)(数值/数值)(字符/int)

(4) 除法运算符 ( /)
除法运算的结果为小数,即浮点数(float或floating-point number)

print(1/2,1/1)
#0.5 1.0

(5) 整除,只会保留计算后的整数位,总会返回⼀个整型(// ),即:不大于x与y之商的最大整数

print(1//2,5//2.4)
#0 2.0

(6) 取模,求两个数相除的余数(% )

print(1%2.4)
#1.0

注:
res=81%11 # 4
res=-81%11 # -4+11=7
res=81%-11 # 4+(-11)=-7
res=-81%-11 # -4

(7) 幂运算,求⼀个值的几次幂(** )

print(-3**2)
#-9

3. 赋值运算符(增强赋值操作符)

+= (x+= 3 相当于 x = x + 3 )
-= (x -= 3 相当于 x= x - 3 )
*= (x = 3 相当于 x = x 3 )
**= (x **= 3 相当于 x = x ** 3 )
/= (x /= 3 相当于 x = x/ 3 )
//= (x //= 3 相当于 x = x // 3 )
%= (x %= 3 相当于 x= x % 3 )

4. 比较运算符

比较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值.如果关系成立,返回True,否则返回False
(1) > ⽐较左侧值是否⼤于右侧值
例:字符大小比较,逐个字符比,直至true/比较完所有字符为止,下式为(2和1)比较,结果为true

result='2'>'11'
print(result)
#True

(2) >= 比较左侧的值是否⼤于或等于右侧的值
(3) < 比较左侧值是否⼩于右侧值
(4) <= 比较左侧的值是否⼩于或等于右侧的值
(5) 特殊比较方式:
== 比较两个对象的值是否相等
!= 比较两个对象的值是否不相等

5. 逻辑运算符

5.1 not 逻辑⾮

not可以对符号右侧的值进⾏⾮运算对于布尔值,⾮运算会对其进⾏取反操作,True变False,False变True

5.2 and 逻辑与

(1)and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False
(2)与运算是找False的,如果第⼀个值为False,则不再看第⼆个值

5.3 or 逻辑或

(1)或运算两个值中只要有⼀个True,就会返回True
(2)或运算是找True的

5.4 非布尔值的与或运算

(1)当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值

例:

a = 0
b = 2
if (a and b):
    print("变量a和b都为true")
else:
    print("变量a和b至少有一个为false")
if (a or b):
    print("变量a和b至少有一个为true")
else:
    print("变量a和b都为false")
if not(a):
    print("变量a为false")
else:
    print("变量a为true")

输出结果:

变量a和b至少有一个为false
变量a和b至少有一个为true
变量a为false

6. 条件运算符(三元运算符)

表达式1 if 条件 else 表达式2

a=20;b=30;
print('a的值比较大',a)if a>b else print('b的值比较大',b)

if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……

7. Python成员运算符

in(如果在指定的序列中找到值返回True,否则返回False)和not in(如果在指定的序列中没有找到值返回True,否则返回False)。
例如:

a = 0
b = 2
list = [1, 2, 3, 4, 5]
if (a in list):
    print("变量a在列表list中")
else:
    print("变量a不在列表list中")
if (b not in list):
    print("变量b不在列表list中")
else:
    print("变量b在列表list中")

输出结果:

变量a不在列表list中
变量b在列表list中

8. Python身份运算符

身份运算符用于比较两个对象的存储单元。
is(判断两个标识符是不是引用自一个对象)和is not(判断两个标识符是不是引用自不同对象)。

is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id
注意: is是内存中/id的比较,而==是值中的比较

例如:

a = 0
b = 0
if (a is b):
    print("变量a和b有相同的标识")
else:
    print("变量a和b没有相同的标识")
if (a is not b):
    print("变量a和b没有相同的标识")
else:
    print("变量a和b有相同的标识")

输出结果:

变量a和b有相同的标识
变量a和b有相同的标识

9. 运算符的优先级

在这里插入图片描述

10. 数值运算函数

  • abs(x):x的绝对值
print(abs(-30))
#30
print(abs(-30+40j))
#50.0
  • divmod(x,y):(x//y,x%y),输出为二元组型式(即:元组类型)
print(divmod(100,9))
a,b=divmod(100,9)
print(a,b)
#(11, 1)
#11 1
  • pow(x,y)或pow(x,y,z):x**y或(x**y)%z,幂运算
print(pow(10,2))
print(pow(10,2,3))
#100
#1
  • round(x)或round(x,d):对x四舍五入,保留d位小数
#四舍五入得整数,奇进偶不进
print(round(1.5))
print(round(0.5))
#2
#0

#四舍五入得浮点数,偶进奇不进
print(round(1.1125,3))
print(round(1.1115,3))
#1.113
#1.111

#对于x.50001这种非对称情况,则按进位法则处理
print(round(0.500001))
#1
  • max(x1,x2,…,xn):求最大值
  • min(x1,x2,…,xn):求最小值

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多