day3-python运算符


基础不牢,地动山摇。一定要打牢基础哦!

  大家好,我是小豪,今天给大家分享的是python基础–运算符。
  python中运算符大部分跟数学里面的运算符用法一致,看起来很简单,不过就是有一点点多。python支持的运算符大概分为五大类,下面我给大家整理了一下:

一、数学运算符

数学运算符,也称为算数运算符,包括了加减乘除,整除,取余,幂以及圆括号,部分算数运算符还可以用在字符串中。话不多说,上图更直观:
这是我用xmind写的笔记,也推荐正在学习的小伙伴下载个xmind,把每天学到的东西都记录下来。

二、比较运算符

比较运算符(关系运算符):>, <, ==, >=, <=, !=
注意:
1.所有比较运算的结果都是布尔值
2.数字数据不能和字符串数据进行比较

python中支持比较运算符的连写来表示范围
比如 :x = 10
print(0 <= x <= 100) # 输出True

三、逻辑运算符

python中的逻辑运算符:and(逻辑与)、or(逻辑或)、not(逻辑非)

(一) and(逻辑与运算)

1.运算规则:
a. 操作对象都是布尔值:两个都是True结果才是True,只要有一个是False结果就是False

True and True  -> True
True and False -> False
False and True -> False
False and False -> False

2.应用场景:
希望两个或者多个条件同时满足才做什么事情,就使用逻辑与运算。相当于生活中的并且。

(二)or(逻辑或运算)

1.运算规则:
a.操作对象都是布尔值: 两个都是False结果才是False,只要有一个是True结果就是True

True or True  -> True
True or False -> True
False or True -> True
False or False -> False

2.应用场景:
希望两个或者多个条件只要有一个满足就可以就使用逻辑或运算。相当于生活中的或者。

(三)not(逻辑非运算)

1.运算规则:
True 变 False , False 变 True

not True  -> False
not False -> True

2.应用场景:
不满足某个条件就做什么,就用not。相当于在原基础上取反。

(四)操作对象不是布尔的时候

逻辑运算符语法上可以操作任何数据
1)数据1 and 数据2
----> 如果数据1的布尔值是True,结果是数据2
----> 如果数据1的布尔值是False, 结果就是数据1
2)数据1 or 数据2
----> 如果数据1的布尔值是True,结果是数据1
----> 如果数据1的布尔值是False,结果是数据2

补充: 数据的布尔值怎么确定
----> 所有为零为空的值都是False,其他数据的布尔都是True

(五)短路操作

and 的短路操作:

表达式1 and 表达式2
---->如果表达式1的结果是False, 表达式2不会执行

or 的短路操作:

表达式1 or 表达式2
---->如果表达式1的结果是True, 表达式2不会执行

四、赋值运算符

赋值运算符有:=、+=、-=、*=、/=、%=、//=、**=
1)所有的赋值运算都是用来给变量赋值的
2)所有的赋值运算符的左边都必须是变量,复合赋值运算符左边的变量必须是已经赋值过的变量
3)所有赋值运算符的右边都可以是任意有结果的表达式

(一)基本赋值运算符

“=”,嗯对,就是一个等号。
“=”,在python中,就是将等号右边的值赋给等号左边
单个赋值例如: x = 10
还支持多个变量一起赋值,
比如:a,b = 1,2 ; a = b = 10

(二)复合赋值运算符

大概就有这些:+=、-=、*=、/=、%=、//=、**=
emmm看不懂?别急,我把我多年收藏的宝贝给你拿出来,你看看就瞬间明白了

五、运算符的优先级

这个可能有点难,但是不要紧,做个了解就好了

运算符的优先级,就是在同一个式子中,某某运算优先计算,他们的优先级是:数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)。
如果有点难懂的话,再给你写个:
从左至右优先顺序排列: ** > *,/,%,// > +, -
记住哦,有括号先算括号里面的

六、位运算

(一)位运算的特点

效率高、内存消耗少

(二)位运算运算符

&(按位与)、|(按位或)、^(异或)、~(按位取反)、>>(右移)、<<(左移)
所有的位运算都是直接操作数据在内存中存储的补码

1、 & (按位与)

数字1 & 数字2 - 两个都是1结果就是1,否则结果0
01101101(补) & 10101100(补) -> 00101100(补)
特点:某一位上的数和1与可以对这一位上的数进行保存,和0与会对这一位进行置0操作
print(5 & 9)

5: 00000101
9: 00001001
5 & 9 = 00000001(补) = 1

-5:10000101(原) - 11111011(补)
-9:10001001(原) - 11110111(补)
-5 & -9  = 11110011(补) - 11110010(反) - 10001101(原) - -13

print(-5 & -9)    # -13

应用:判断数字的奇偶性

让被判断的数字和 1 进行按位与运算,结果如果是0说明是偶数否则是奇数

print(-35 & 1)

2、| (按位或)

数字1 | 数字2 - 只要有一个是1结果就是1,两个都是0结果才是0

3、^ (异或)

数字1 ^ 数字2 - 不同为1,相同为0
print(18 ^ 9) # 27
print(27 ^ 9) # 18

4、 ~
0变1,1变0
 ~ 数字
5) >>,<<

数字1 >> 数字2 - 数字1 // 2数字2
数字1 << 数字2 - 数字 * 2
数字2
应用:高效率、快速的乘2或者2的次方数

print(6 << 1)   # 6 * 2**1
print(5 << 2)   # 5 * 2**2
print(6 >> 1)   # 6 // 2**1
print(7 >> 1)   # 7 // 2**1
print(-7 >> 1)  # -7 // 2**1

age = 18
age *= 2
age = age << 1

好了,今天就分享到这里,好好学习哦!明天见~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值