一、 Python的算术运算

Python的算术运算符与C语言类似,略有不同。包括加(+)、减(-)、乘(*)、除(/)、取余(%)、按位或(|)、按位与(&)、按位求补(~)、左移位(<<)、右移位(>>)、单目求反(-)、幂运算(**)、整除运算(//)、增强运算、增强矩阵乘法(@)。

增强运算是将算术运算符或逻辑运算符放到等号的左侧,与C语言的增强运算符相同。如x+=5,表示x=x+5,该种方法CPU的处理效率高于普通运算方式,且执行优先级也高些。

下面看看这些运算的例子,大家可以理解一下:

>>> 10%3
1
>>> 10//3
3
>>> 10**3
1000
>>> n=False
>>> n
False
>>> type(n)
<class 'bool'>
>>> i=0
>>> i==n
True
>>> 4>>2
1
>>> 4<<2
16
>>> ~4
-5
>>> 2&4
0
>>> 2|4
6
>>> m=2
>>> m**=3
>>> m
8

矩阵乘法目前本人还没弄明白,如果以后弄明白了再补充。

二、 Python的布尔类型

在介绍比较急逻辑运算之前,需要介绍一个前面没有介绍的bool(布尔)数据类型。

布尔数据类型是用于条件判断、比较运算和逻辑运算,只有两个值真(True)和假(False)。布尔类型其实是int的子类,False和True对应的值是0和1。但真正使用时,下面的值都将被视为假:

False None 0 “” () [] {}

也就是说标准值False和None、各种类型(包括浮点数、复数等)的数值0、空序列(如空字符串、空元组和空列表)以及空映射(如空字典)都被视为假,而其他各种值都被视为真。

看看下面的运算结果:

>>> True == 1
True
>>> False == 0
True
>>> True + True
2

三、 比较运算

比较运算表达式 解释

x==y x是否等于y

x>y x是否大于y

x<y x是否小于y

x>=y x是否大于等于y

x<=y x是否小于等于y

x!=y x是否不等于y

x is y x是否和y是同一对象

x is not y x是否和y不是同一对象

x in y x是否是y的元素

x not in y x是否不是y的元素


以上运算中的后2个主要用于复杂数据类型的成员判断,后面讲这些数据类型会用到。

四、 逻辑运算

逻辑运算与C语言的类似,有逻辑或(or)、逻辑与(and)、逻辑非(not),但没有C语言的简单运算符号||、&&、!。

看看运算实例:

>>> not 2
False
>>> not 0
True
>>> 2 and 4
4
>>> 2 or 4
2
>>> s='123'
>>> s or 2 or 3
'123'
>>> 2 and 3 and s
'123'

从上面后几个示例看出,逻辑运算符and和or不一定都是返回True或False,or当其中参与运算的数据有个值不为False(包括False、0、空等,下同)则直接返回该数据,and当所有数据都不为False则返回最后一个数据。

五、 运算符的优先级

下面列出了所有运算符的优先级,数值越大,表示优先级越高。

上述运算符中有个lambda,这是个lambda就是用来定义一个匿名函数的。老猿认为用处不大,具体内容大家可以在网上查一下。

更正:

在上一章节,关于Python语句部分的前面部分内容强调“必须缩进4个空格”缩进与该章节“Python的代码嵌套格式”描述不一样,实际上相关要求是遵循“Python的代码嵌套格式”的情况下,推荐使用一次缩进4个空格。

另外关于语句中冒号的使用,只说明了那些语句后面必须有冒号,但其实冒号指出来接下来是一段(也可以只有一行)统一缩进的代码块。

第2.3节 Python运算符大全的更多相关文章

  1. Python运算符大全

    一. Python的算术运算 Python的算术运算符与C语言类似,略有不同.包括加(+).减(-).乘(*).除(/).取余(%).按位或(|).按位与(&).按位求补(~).左移位(< ...

  2. Python运算符的优先级是怎样的?

    优先级数字越高表示优先级越高,有关运算符的详细介绍请参考<Python运算符大全>

  3. C语言的本质(7)——C语言运算符大全

    C语言的本质(7)--C语言运算符大全 C语言的结合方向 C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左).例如算术运算符的结合性是自左至右,即先左后右.如有表达式 x- ...

  4. Python运算符和编码

    Python运算符和编码 一.格式化输出 现在有以下需求,让⽤户输入name, age, job,hobby 然后输出如下所⽰: ----------info of dogfa---------- n ...

  5. Python 资源大全中文版

    Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...

  6. python运算符重载

    python运算符重载就是在解释器使用对象内置操作前,拦截该操作,使用自己写的重载方法. 重载方法:__init__为构造函数,__sub__为减法表达式 class Number: def __in ...

  7. [转载]Python 资源大全

    原文链接:Python 资源大全 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex  ...

  8. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

  9. Python运算符与表达式

    Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符. 表达式是将不同类型的数据(常亮.变量.函数)用运算符按照一定得规则连接起来的式子. 算术运算符 ...

随机推荐

  1. mysql处理查询请求的步骤

    服务端处理客户端的查询请求大致需要三个步骤: 连接管理 客户端连接服务端时,服务端会为其分配一个线程,客户端断开连接不会回收线程(避免频繁创建销毁的性能问题),服务端一直等待客户端发来消息(文本消息) ...

  2. 【开发板试用报告】学习GPIO编程

    温湿度传感器 参考许老师教程:https://gitee.com/hihopeorg/ 下载源码git clone https://github.com/xusiwei/harmonyos-aht20 ...

  3. MobaXterm 连接 VirtualBox 6 虚拟机中的 CentOS 7

    1 运行环境 本机系统:Windows 7 虚拟机软件:Oracle VM VirtualBox 6 虚拟机系统:CentOS 7 MobaXterm(安装在本机上) 2 MobaXterm - 远端 ...

  4. 内网安装python第三方包

    内网快速安装python第三方包 内网安装包是一个很麻烦的问题,很多时候,内网的源会出现问题,导致无法安装. 这里给出一种快速在内网中安装第三方包,无需使用内网的源. 外网操作 1.根据开发环境下的所 ...

  5. tcp ESTABLISHED 接收数据

    tcp_rcv_established函数的工作原理是把数据包的处理分为2类:fast path和slow path,其含义显而易见.这样分类的目的当然是加快数据包的处理,因为在正常情况下,数据包是按 ...

  6. backfill和recovery的最优值

    ceph在增加osd的时候会触发backfill,让数据得到平均,触发数据的迁移 ceph在移除osd的时候需要在节点上进行数据的恢复,也有数据的迁移和生成 只要是集群里面有数据的变动就会有网卡流量, ...

  7. 你了解JWT吗?

    1. 什么是JWT JWT简称 JSON Web Token,也就是通过 JSON 形式作为 Web 应用中的令牌,用于在各方之间安全地将信息作为 JSON 对象传输.在数据传输过程中还可以完成数据加 ...

  8. Nmap详解

    扫描方式 -Pn/-P0:扫描前不用ping测试目标是否可达,默认所有目标端口都可达 -sT:TCP Connect扫描,进行完整的TCP三次握手,该类型扫描已被检测,且会在目标日志中记录大量连接请求 ...

  9. sql字段长度等于

    select count(*) from boc_loan_apply where length(birthday)=7;

  10. docker下启动单机nacos

    docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server 参数说明: MODE standalo ...