python逻辑表达式3+45and_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逻辑表达式3+45and_Python 简明教程 --- 5,Python 表达式与运算符相关推荐
- Python re(正则表达式)简明教程
Python re(正则表达式)简明教程(Python3) 举个栗子 常用函数举例 按字母顺序查询模块
- 【Python】【进阶篇】十二、Python爬虫的Xpath简明教程(十分钟入门)
目录 十二.Python爬虫的Xpath简明教程(十分钟入门) 12.1 Xpath表达式 12.2 Xpath节点 12.3 节点关系 12.4 Xpath基本语法 12.4.1 基本语法使用 12 ...
- 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 ...
最新文章
- Miniconda3+PyTorch1.7.1(GPU版)+Win10_x64+GTX1060深度学习环境搭建
- 利用Cydia Substrate进行Android HOOK(2)
- 8月语言排行:C#继续呈现增长态势
- 关于easyui的一些小知识点(1)
- vant自动按需引入组件 (推荐)
- NeatUpload:支持大文件上传 进度条
- mysql binlog 多少_今天才知道,MySQL 的 binlog 编号可以这么大!
- jsp页面时间戳转换为时间格式
- H3C交换机定时重启配置方法
- C语言小程序打印楼梯图案
- matlab仿真函数,matlab自动控制仿真常见函数应用
- 公共关系礼仪实务章节测试题——公共关系的类型(一)
- 鸿蒙双系统怎么切换,苹果 Mac双系统如何切换?用Option键切换双系统的步骤分享...
- oppo计算机快捷方式,OPPO怎么把快捷方式添加到桌面 OPPO把快捷方式添加到桌面方法...
- 26岁想转行做程序员是否可行?
- 如何修改安卓应用图标和程序名称
- 2012年5月编程语言排行榜:C再次位居第一 Java 占有率持续下降
- c语言怎么将两个整数变量值交换,C语言如何利用异或进行两个值的交换详解
- (转)vim 常用快捷键 二
- 没有电池没有芯片,这些塑料瓶子正在联网
热门文章
- 屏蔽Crash 提示框的两种方式
- 【简明表】MATLAB + 矩阵运算
- 关于静态局部全局变量
- python中用于绘制各种图形、标注文本_python ImageDraw类实现几何图形的绘制与文字的绘制...
- 200设备管理器找不到蓝牙_达尔优LK200蓝牙键盘,一键切换+支持三台设备+百元不到...
- Linux C :C的汇编码生成
- 数据类型(整型、浮点数、字符串、时间和日期)、切分(水平、垂直)
- 华为鸿蒙ai字幕,EMUI11一个值得吹爆的功能?AI字幕,支持翻译英日韩
- 网络安全 / crt、pem、pfx、cer、key 作用及区别
- java tail -f 后返回_tail -f 的实现 | 学步园