python基础 - 1、运算符

python基础 - day2运算符

今日分享运算符相关知识点

思维导图整理如下:在这里插入图片描述

一、运算符

运算符类型有哪些
数学运算符+、-、*、/、%(取余)、//(整除)、**(幂运算)
比较运算符>、<、>=、<=、==
逻辑运算符and(逻辑与)、or(逻辑或)、not(逻辑非)
赋值运算符=、+=、-=、*=、/=、%=、//=、**=
位运算符&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)

下面重点介绍几种运算符:

1、数值运算符

​ 1)求余 - %
​ 应用1:判断一个数是否能被另一个数整除

num = int(input('请输入一个整数:'))   # 输入 1234
print('num是否能被2整除:', num % 2 == 0)   # num是否能被2整除:True

​ 应用2:取一个数的低位数

num = 234
print('num的个位数是:', num % 10)
print('num的后两位数是:', num % 100)

​ 2) 整除 - //

说明:python中整除为向下取整(向更小的方向取值),比如: 5 // 2 = 2 -5 // 2 = -3
​ 应用:取一个数的高位数,或者是舍去低位数

num = int(input('请输入一个整数:'))    # 输入 235235
print('num百位数之前的数为:', num // 1000)  # 235

​ 3)%//联合取一个数的某一位数

# 求任意一个整数的百位数
num = int(input('请输入一个整数:'))    # 输入 235235
print('num的百位数是:', num % 1000 // 100)   # 2
print('num的百位数是:', num // 100 % 10)   # 2
2、逻辑运算符

​ 1)逻辑与 - and

应用场景:生活中的“并且”,在有多个条件需要同时满足时使用
​ 运算规则:多个条件同时为True,结果才为True

​ 2)逻辑或 - or

应用场景:生活中的“或”,有多个条件但只需要满足一个条件时使用
​ 运算规则:多个条件中只需要有一个条件满足(True),结果即为True

​ 3)逻辑非 - not

应用场景:对某个条件进行否定,当正向写条件比较复杂,反向写却相对简单时使用
​ 运算规则:not True -> False not False -> True

​ 4)andor 的短路操作

"""
短路条件
and:代码1 and 代码2   -   当代码1为False时,代码2不再执行,当代码1为True时,执行代码2
or :代码1  or 代码2   -   当代码1为False时,执行代码2
注:代码1、代码2可以是布尔表达值,也可以是其他表达式
"""
False and print(123)  # False触发短路条件,后面的代码不再执行
False or print(123)  # 因为是or,第一个条件是False,不触发短路条件,执行第二个条件代码
"""
3 and 5  # 5     -     3是True,所以是5
0 and 5  # 0     -     0是False,触发短路条件
3 or 5  # 3      -     3是True,触发短路条件
0 or 5  # 5      -     0是False, 所以是5 
"""

​ 4)练习

num = int(input('请输入一个整数:'))    # 输入 235235
# 判断一个数是否能同时被3和5整除
print('是否能同时被3和5整除:', num % 3 == 0 and num % 5 == 0)
print('是否能同时被3和5整除:', num % 15 == 0)

# 判断一个数是否能被3或者5整除
print('是否能被3或者5整除:', num % 3 == 0 or num % 5 == 0)

# 判断一个数是否都不能被3和5整除
print('是否都不能被3和5整除:', not(num % 15 == 0))
3、赋值运算符

​ a += 1 => a = a + 1 # 其他的复合赋值运算符都类似的,注意复合运算符之间不能有空格

a = 10    # a = 10
a += 1    # a = 11
a -= 5    # a = 6
a *= 2    # a = 12
print('a的值为:', a)   # 12
4、位运算符

​ 1)按位与 - &

可以用于判断一个数的奇偶性,num & 1 -> 结果位0表示num为偶数,结果为1表示num为奇数(num & 1是取num转化为二进制后的最后一位)

​ 2)左移 - <<

num << n -> num * 2**n(表示num 乘2的n次方)
<< 表示将num转换成二进制后在末尾加上一个0

​ 右移 - >>

num >> n -> num // 2**n(表示num整除2的n次方)
>>将num转换为二进制减去末尾一位数,位运算符的效率比一般都要高

5、运算符优先级

​ 1)运算符:数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

​ 2)其中数学运算符:** > *、/、%、// > +、-

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值