python之旅第八站(运算符)

第八章:python的运算符(version 3.7.2)

直奔主题:

  1. 算术运算符
  2. 关系运算符
  3. 逻辑运算符
  4. 赋值运算符
  5. 成员运算符
  6. 身份运算符
  7. 集合运算符
  8. 运算符优先级

一.算术运算符

序号运算符意义示例结果
1+两个操作数相加7 + 29
2-两个操作数相减7 -25
3*两个操作数相乘7 * 214
4/两个操作数相除7 / 23.5
5%取余7 % 21
6//取商的整数部分7 // 23
7**(操作数1)的(操作数2)次方(幂)7 ** 249
两个数的相加,可以将计算结果赋给一个变量:

计算多个数相加:1 7 + 2 + 1:

在这里插入图片描述

列表和字符串也可以相加,就是之前用过的连接符:

在这里插入图片描述
在这里插入图片描述

python中除法比较特殊,有两种一个是斜杠,一个是双斜杠,传统意义上的除法,用一个斜杠,对比看看双斜杠,双斜杠会取商的整数部分:

在这里插入图片描述

%是取余数:

在这里插入图片描述

** 幂运算:

当整数和浮点数进行运算,结果是浮点数类型(包括加减乘除):

在这里插入图片描述

二.关系运算符

关系运算符的结果是布尔类型

序号运算符意义示例结果
1==等于(表达式1是否等于表达式2)7 == 2False
2!=不等于(表达式1是否不等于表达式2)7 != 2True
3>大于(表达式1是否大于表达式2)7 > 2True
4<小于(表达式1是否小于表达式2)7 < 2False
5>=大于等于(表达式1是否大于等于表达式2)7 >= 2True
6<=小于等于(表达式1是否小于等于表达式2)7 <= 2False
表达式是值,变量和运算符的组合:

在这里插入图片描述

有一点需要注意等于号不要用于浮点数的比较,由于底层平台的原因,浮点数是不精确的,有经验的程序员都不会这样做: (下边会附上相关解释的链接)

在这里插入图片描述

判断是否不相等使用的是!=:

在这里插入图片描述

大于号和小于号和数学中的差别不大 :

大于等于和小于等于也和数学中差别不大:

在这里插入图片描述

多个数之间的关系:

在这里插入图片描述

三.逻辑运算符

序号运算符意义示例结果
1not逻辑非,操作数为True时,表达式为False,操作数为False时,表达式为True.not True,not FalseFalse,True
2and逻辑与,两个操作数中任意一个为False,表达式结果就为False,两个操作数同时为True时表达式为True.True and True,True and False,False and True,False and FalseTrue,False,False,False
3or逻辑或,两个操作数中任意一个为True,表达式结果就为True,两个操作数同时为False时表达式为False.True and True,True and False,False and True,False and FalseTrue,True,True,False

在这里插入图片描述

四.赋值运算符

序号运算符示例等价于
1=num = 7num = 7
2+=num += 2num = num + 2
3-=num -= 2num = num -2
4*=num *= 2num = num * 2
5/=num /= 2num = num / 2
6%=num %= 2num = num % 2
7//=num //= 2num = num // 2
8**=num **= 2num = num ** 2

在这里插入图片描述

num += 2 等价于 num = num + 2,意思是 取num的值加上2,再把得到的结果赋值给num.(其他的都一样,只是简写,不再做演示)

五.成员运算符

主要用于字符串和常见的内置数据结构.
判断一个字符串是否被另一个字符串包含:

在这里插入图片描述

成员运算符也可以判断元素是否在列表,集合,元组中,也可以用于判断一个值是否是字典的键:

在这里插入图片描述

可以判断一个元素是否不在字符串或内置数据结构中:

在这里插入图片描述

六.身份运算符

说身份运算符之前需要介绍一下id函数,它能够帮助我们看到一个变量的引用(也就是在内存中指向的地址)

在这里插入图片描述
Python语言在设计之初为了减少频繁申请和销毁内存的资源开销,规定了shell执行期间 [-5, 256]之间的整数全部常驻在内存中且不会被垃圾回收只能增减引用计数,这就是小整数对象池,池外的数在创建时每次都得申请新的内存空间而不是增加引用计数.在pycharm中不会出现这种情况.

序号运算符意义示例(shell模式)结果
1is判断两个标识符是不是引用自同一个对象,( 类似id(x) == id(y) )x=100, y = 100, x is yTrue
2is not判断两个标识符是不是引用自不同对象,( 类似id(x) != id(y) )X = 1000 ,y = 1000, x is not yTrue

七.集合运算符

对集合进行的运算.

序号操作符案例集合操作
1==A==B如果集合A等于集合B返回True,反之返回False
2A!=B如果集合A不等于集合B返回True,反之返回False
3<A<B如果集合A是集合B的真子集返回True,反之返回False
4<=A<=B如果集合A是集合B的子集返回True,反之返回False
5>A>B如果集合A是集合B的真超集返回True,反之返回False
6>=A>=B如何集合A是集合B的超集返回True,反之返回False
7|A|B计算集合A与集合B进行并集
8&A&B计算集合A与集合B进行交集
9-A-B计算集合A与集合B进行差集

在这里插入图片描述

八.运算符优先级

括号括起来的会优先运算,跟数学一样.

序号运算符描述
1**指数运算
2~,+,-按位取反、一元取正和一元取负
3*,/,%,//乘法、除法、取余和取整
4+,-加法和减法
5>>,<<按位右移、按位左移
6&按位与
7^,|按位异或、按位或
8<=,<,>,>=关系运算符
9==,!=关系运算符
10=,%=,/=,//=,-=,+=,*=,**=赋值运算符
11Is,is not身份运算符
12In,not in成员运算符
13not,or,and逻辑运算符

点击跳转b站狮范客,有讲浮点数为什么不精确
如有错误还望指出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值