python学习第四站:运算符

一、什么是运算符

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。

Python语言支持以下类型的运算符:

算术运算符
赋值运算符
比较(关系)运算符
逻辑运算符
条件运算符(三元运算符
运算符优先级
下面我们一个个学习运算符知识


二、认识运算符

算数运算符

以下假设两个变量:a = 6, b = 9

运算符实例
+a +b -> 15
-a - b -> -3
*a * b-> 54
/a / b -> 0.666
%取余数:b%a->3
**a**b-> 10077696
//整除(商的整数部分)b//a-> 1
>>> a=6
>>> b=9
>>> a/b
0.6666666666666666
>>> b%a
3
>>> a%b
6
>>> a**b
10077696
>>> b//a
1

可在线编译运行测试

赋值运算符

= (c = a + b 将 a + b 的运算结果赋值为 c)
+= (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 )

比较运算符

比较运算符用来比较两个值之间的关系,如果关系成立,返回True,否则返回False
== 比较对象是否相等 (4 == 5) 返回 False。
!= 比较两个对象是否不相等 (4 != 5) 返回 true.
is 比较两个对象是否同一个对象,比较的是对象的id
is not 比较两个对象是否不是同一个对象.

>>> id(4)
4331888400
>>> id(5)
4331888432

'> (10 > 12) 返回 False。
< (10 < 12) 返回 true。
'>= (10 >= 12) 返回 False。
<= (12 <= 13) 返回 true。

逻辑运算符

not 非

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

and 与

  • 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
  • 同真为真,有一个假即为假,以false为大

or 或

  • 或运算两个值中只要有一个True,就会返回True
  • 以True 为大

非布尔值的与或运算

当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值

• 非布尔值与运算的规则AND (&&)

找False:

  • 如果第一个值为true,则返回第二个值
  • 如果第一个值为false,则返回第一个值
举证说明
1&&2 ->2两个true返回后者
0 && 2 -> 0两者有一个false,则false
2&&0->0两者有一个false,则false
NaN && 0-> NaN两者有false,则返回前面的false
0 && NaN -> 0两者有false,则返回前面的false
• 非布尔值或运算的规则OR (||)

找True:

  • 如果第一个值为true,则返回第一个值
  • 如果第一个值为false,则返回第二个值
举证说明
1 or 2 ->1两个true返回前者
2 or 0 -> 2两者有一个true,则true
2 or NaN -> 2两者有一个true,则true
NaN or 1-> 1两者有一个true,则true
NaN or 0-> 0两个false,则返回后面的false
“” or “hello” -> “hello”两者有一个true,则true
-1 or "hello " -> -1两个true返回前者
"hello " or -1 -> "hello "两个true返回前者

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

来源于网络

语法: 语句1 if 条件表达式 else 语句2

条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果

举证:
两个数字最最大值
a,b = 6,9
print(a if a>b else b)

给定三个数值,求最大值。
a,b,c = 12,25,18
(a if a>b else b) if (a if a>b else b) >c else c

 a,b,c = 12,25,18
 print((a if a>b else b) if (a if a>b else b) >c else c)

三个数字比大小思路:先求前两个最大值,然后拿得到的最大值跟第三个比较。

运算符的优先级

具体参照:Python 运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值