生命在于学习——Python学习日记(六)

在这里插入图片描述
本篇文章记录的是Python运算符知识。

一、算术运算符

1、什么是算数运算符

就是做加减乘除四则运算以及其他的复杂运算的, 让计算机能像人一样可以做计算

符号含义
+相加
-相减
*相乘
/相除 (有小数部分,结果全是float类型)
//地板除 (只保留整数部分)
%取余/取模 (只保留余数)
**幂运算
print(10/2) # 5.0 float类型

重点提一嘴

10 // 3   ==> 3
10 % 3   ==> 1
2 ** 3     ==> 8

二、 比较运算符

1、 什么是比较运算符

就是做比较运算的, 让计算机能像人一样可以做比较

符号含义
>大于
<小于
>=大于等于
<=小于等于
==等于
!=不等于

三、 赋值运算符

1、 什么是赋值运算符

就是做赋值操作的, 让计算机能像人一样给一个事物附上一个值, 记录下来

(1) 增量赋值

符号含义
=变量的赋值
+=加等于
-=减等于
*=乘等于
/=除等于
//=取整等于
%=取余等于
**=幂等于

提一嘴 , 你在python会经常见到

x += 1  等价于 x = x +1

(2)交叉赋值

x = 10
y = 20
x,y = y,x

(3) 链式赋值

x=y=z = 10
# 把栈区中的10的内存地址分别赋值给x,y,z

(4) 解压赋值

一般适合在取开头前几个或者末尾几个数据的值,不适合取数据量大的容器的中间值。

x,y = [10,20]
print(x)   # 10
print(y)   # 20

四、 逻辑运算符

1、 逻辑运算

所谓的逻辑运算,你可以先简单的认为就是判断,比如今天下不下雨,下雨。这就一个判断。

2、 逻辑运算符

逻辑运算符就是用来把多个条件连在一起做判断的符号

符号含义
not非(取反)
and
or

(1) not

# not: 就是把紧跟其后的那个条件结果取反
# not与紧跟其后的那个条件是一个不可分割的整体
print(not 16 > 13) # False
print(not 0) # True

(2)and

and(逻辑与)用来连接左右两个条件。两个条件同时为真,最终结果才为真。如果连接多个条件, 条件全为真, 最终结果才是True.

print(True and 10 > 1) # True

print(1 > 3 and 4 > 8 and False )

(3) or

or ( 逻辑或 ) 用来连接左右两个条件, 两个条件但凡有一个为True, 最终结果就为True, 两个条件都为False的情况, 最终结果才为False。

如果连接多个条件, 条件全为假, 最终结果才是False。

print(3 > 2 or False) # True

print(False or 6 < 5 or 7 > 99) #False

3、 逻辑运算符的优先级 (了解)

如果单独的就只是一串and/or连接, 按照从左到右的顺序依次运算即可。如果是混合使用就要考虑优先级了。

(1) 优先级

括号 ( ) > not > and > or

print(3 > 4 and not 4 > 3 or 1 == 3 and 'x' == 'x' or 3 > 3) # False

这种混合运算一般不会出现在自己代码里, 只有面试题你会见到

小练习:

not 3 > 4 and 5 > 7 or 7 > 9 and not 3 == 3 and x=='x'

3 > 4 and 5 > 7 and 7 > 9 or not 3 == 3 and x=='x'

4、短路运算

短路运算:遵循偷懒原则,偷懒到哪个位置,就把当前位置的值返回。在面试题中,一般和逻辑运算符优先级一起考。注意一点,返回的值不一定是显示的布尔值,可能是隐式的布尔值

10 > 3 and True     # 偷懒到True,所以返回True
10 < 100 and 0 and True # 偷懒到0,返回0
10 and 0 or 1 > 3 and 9 == 9 or 80 > 70 # 先看优先级,然后再看每个部分偷懒到哪里,然后再算最后的值 True

五、成员运算符

1、 in

成员运算符就是判断是否存在, 返回一个布尔值

# 判断一个小字符串是否在一个大字符串中
print( 'x' in 'zhenxiang' ) # True

# 判断元素是否存在于列表
print( 10 in [11,10,12]) # True

# 判断key是否存在于字典
print('k1' in {'k1':1}) # True

2、 not in

判断是否不在,一般判断不存在时,推荐使用这种。

print( 'mn' not in 'hello word') # True

六、 身份运算符

1、 is

is 就是身份运算符, 判断的是id是否相等, id( ) , 在cpython中返回的是程序运行时, 对象在内存中的地址

x = 'hello mn'
y = 'hello mn'
print(x is y) # True
# 但记住有的时候值相等未必id相等

2、 is not

判断身份不相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值