python的表达式3or5_Python 简明教程 --- 5,Python 表达式与运算符
靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度。
—— Bill Gates
目录
1,什么是表达式
表达式是代码的重要组成部分,一个表达式由运算符和操作数两部分组成。
一个表达式就描述了对哪些数据,进行了什么样的操作。
如下就是一个表达式:
sum = 1 + 2
其中,=和+ 都是运算符,=是赋值运算符,+ 是相加运算符,sum,1,2 都是操作数。
这句话的含义是,将1 与 2 相加,并将它们的结果赋值给变量sum。
2,运算符
Python 中包含丰富的运算符,支持各种运算。如下:
算术运算符
位运算符
关系运算符
赋值运算符
逻辑运算符
下面对这些运算符逐一进行介绍。
3,算术运算符
运算符
含义
+
加
-
减
*
乘
/
除
//
除,向下取整
%
取余
**
幂运算
示例:
>>> a = 20
>>> b = 7
>>>
>>> a + b
27
>>> a - b
13
>>> a * b
140
>>> a / b
2.857142857142857
>>> a // b
2
>>> a % b
6
>>> a ** b
1280000000
4,位运算符
进行位运算时,会先将数字转换成二进制,然后再做位运算。
运算符
含义
&
按位与
|
按位或
^
按位异或
~
按位取反
<<
左移
>>
右移
示例:
>>> a = 20
>>> b = 7
>>> a & b
4
>>> a | b
23
>>> a ^ b
19
>>> ~a # a 按位取反
-21
>>> ~b # b 按位取反
-8
>>> a << 3 # a 左移3 位
160
>>> b >> 2 # b 右移2 位
1
5,关系运算符
关系运算符又叫比较运算符,其计算结果为True 或False。
运算符
含义
==
是否相等
!=
是否不等
>
是否大于
<
是否小于
>=
是否大于等于
<=
是否小于等于
示例:
>>> a = 20
>>> b = 7
>>> a == b
False
>>> a != b
True
>>> a > b
True
>>> a < b
False
>>> a >= b
True
>>> a <= b
False
6,赋值运算符
等号= 是最基本的赋值运算符,= 右边的值称为右值,= 左边的值称为左值。
赋值运算符= 的含义是将右值赋值给左值。
例如下面代码,a 为左值,b 为右值,这行代码的含义是,将b 的值赋值给a:
a = b
下面这些赋值运算符,都是在赋值运算符= 与算术运算符的基础上衍生出来的,是一种简写形式:
运算符
示例
+=
a += b 相当于 a = a + b
-=
a -= b 相当于 a = a - b
*=
a *= b 相当于 a = a * b
/=
a /= b 相当于 a = a / b
//=
a //= b 相当于 a = a // b
%=
a %= b 相当于 a = a % b
**=
a **= b 相当于 a = a ** b
7,逻辑运算符
运算符
含义
and
逻辑与
or
逻辑或
not
逻辑非
示例:
>>> a = True
>>> b = False
>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not b
True
在数字中,非0 为真,0 为假:
>>> not 0 # 0 为 False,not 0 为 True
True
>>> not 1 # 1 为 True,not 1 为 False
False
>>> not 2 # 2 为 True,not 2 为 False
False
>>> not -1 # -1 为 True,not -1 为 False
False
>>> not -2 # -2 为 True,not -2 为 False
False
其实,True 就是 1,False 就是 0:
>>> True.real
1
>>> False.real
0
>>> True == 1
True
>>> False == 0
True
在字符串中,非空字符串为真,空字符串为假:
>>> not '' # '' 为 False,not '' 为 True
True
>>> not 'abc' # 'abc' 为 True,not 'abc' 为 False
False
8,运算符的优先级
运算符有优先级之分,表达式在计算的时候,会先计算优先级较高的,处于同一优先级时,会从左到右计算。
如下表达式,该表达式会先计算2 * 3 结果是6,再计算1 + 6,结果是 7:
>>> 1 + 2 * 3
7
之所以会先计算 2 * 3,就是因为* 的优先级高于+ 的优先级。
小括号()的优先级高于我们上面介绍到的所有运算符的优先级,如果想改变计算顺序,可以使用小括号()。
如下表达式,则会先计算1 + 2 结果为3,再计算3 * 3,结果为9:
>>> (1 + 2) * 3
9
下表汇总了上文中介绍到的所有运算符的优先级,从高到低排序,同一行(用,分隔)中的运算符具有相同优先级:
运算符
含义
()
小括号内的表达式优先级最高
**
幂运算
~x,+x,-x
按位取反,正号,负号
*,/,%,//
乘,除,取余,整除
+,-
加,减
<>
左移,右移
&
按位与
^,|
按位异或,按位或
>,=,<=
比较运算
==,!=
等于运算
=,+=,-=,*=,/=,%=,//=,**=
赋值运算
not,and,or
逻辑运算
建议:推荐使用小括号() 来显示表达式的计算顺序,而不依赖运算符本身的优先级,这样一目了然,方便维护。
(完。)
推荐阅读:
欢迎关注作者公众号,获取更多技术干货。
python的表达式3or5_Python 简明教程 --- 5,Python 表达式与运算符相关推荐
- 【Python】【进阶篇】十二、Python爬虫的Xpath简明教程(十分钟入门)
目录 十二.Python爬虫的Xpath简明教程(十分钟入门) 12.1 Xpath表达式 12.2 Xpath节点 12.3 节点关系 12.4 Xpath基本语法 12.4.1 基本语法使用 12 ...
- Python re(正则表达式)简明教程
Python re(正则表达式)简明教程(Python3) 举个栗子 常用函数举例 按字母顺序查询模块
- python 三引号_Python 简明教程 --- 4,Python 变量与基本数据类型
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码. -- Marti ...
- python编写异常处理_Python 简明教程 --- 23,Python 异常处理
要么做第一个,要么做最好的一个. 目录 我们在编写程序时,总会不自觉的出现一些错误,比如逻辑错误,语法错误和一些其它的运行时错误等. 逻辑错误: 这种错误不会导致程序崩溃,它不容易被发现,只有在执行结 ...
- python wasm_Go WebAssembly (Wasm) 简明教程
Go WebAssembly (Wasm) 简明教程 1 WebAssembly 简介WebAssembly是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二 ...
- python sorted下标_Python学习教程(Python学习路线):第七天-字符串和常用数据结构
Python学习教程(Python学习路线):字符串和常用数据结构 使用字符串 第二次世界大战促使了现代电子计算机的诞生,当初的想法很简单,就是用计算机来计算导弹的弹道,因此在计算机刚刚诞生的那个年代 ...
- python 优雅退出_Python学习教程:Python 使用 backoff 更优雅的实现轮询
我们经常在开发中会遇到这样一种场景,即轮循操作.今天介绍一个Python库,用于更方便的达到轮循的效果--backoff. Python学习教程:Python 使用 backoff 更优雅的实现轮询 ...
- 【2023版】超详细Python+Pycharm安装保姆级教程,Python环境配置和使用指南,看完这一篇就够了
这两年被Python初学小白问到最多的问题就是,该用什么代码编辑工具? 说实话,我个人是用Jupyter Notebook最多,主要是经常做数据可视化,方便些. 但对于初学者来说,PyCharm仍是不 ...
- python实验原理_【python】《统计学原理实验教程(Python)》书中代码实现
代码已经上传至GitHub <统计学原理实验教程(Python)>书中代码实现 简介 <统计学原理实验教程(Python)>是厦门大学出版社在2019年出版的图书,主要通过py ...
最新文章
- php date 转换 string_php将时间差转换为字符串提示
- CISCO交换机配置命令之二
- python读取中文txt文本-python读取中文txt文本的方法
- 本地图片转base64_从一道面试题说起:GET 请求能传图片吗?
- 拒绝双写:巧用Lindorm数据订阅
- [转载] python __slots__ 详解(上篇)
- 认识计算机硬件实验项目,实验1 认识计算机的硬件与硬件组装
- julia有 pytorch包吗_GitHub发布年度机器学习榜:TensorFlow最火,PyTorch失踪,Julia第四...
- stm32F051系列教程 前哨篇 建立一个KEIL工程模板
- hbase 架构和存储
- node.js学习之路(1)
- c语言图书管理系统课设报告总结,c语言图书管理系统课设报告.docx
- koa-body koa2 使用 koa-body 代替 koa-bodyparser 和 koa-multer
- 压缩文件解压密码破解之fcrackzip
- 用自己的设备跑各种VI-SLAM算法(1)——VINS/PL-VINS/ROVIO/MSCKF
- 计算机常用的启动方法有,加快电脑开机、运行的常用手段
- linkerd mysql_纠错帖:Zuul Spring Cloud Gateway Linkerd性能对比
- 化工厂人员定位应考虑哪些因素?
- MAC终端连接服务器问题杂记
- 纯干货,linux内存管理——内存管理架构(建议收藏)