0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python运算符是什么

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-02-21 16:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

python运算符

0. 什么是运算符?

本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4和5被称为操作数,“+”号为运算符。

Python语言支持以下类型的运算符:

算术运算符

比较(关系)运算符

赋值运算符

逻辑运算符

位运算符

成员运算符

身份运算符

运算符优先级

接下来让我们一个个来学习Python的运算符。

1. Python算术运算符

以下假设变量a为10,变量b为20:

运算符

描述

实例

+

加 - 两个对象相加

a + b 输出结果 30

-

减 - 得到 负数或是一个数减去另一个数

a - b 输出结果 -10

*

乘 - 两个数相乘或是返 回一个被重复若干次的字符串

a * b 输出结果 200

/

除 - x除以y

b / a 输出结果 2

%

取模 - 返回除法的余数

b % a 输出结果 0

**

幂 - 返回x的y次幂

a**b 为10的20次方, 输出结果 100000000000000000000

//

取整除 - 返回商的整数部分

9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

以下实例演示了Python所有算术运算符的操作

两数相加减

>>> a = 10
>>> b = 20
>>> a + b
30
>>> b - a
10

两数相乘除

>>> a = 10
>>> b = 20
>>> a * b
200
>>> b / a
2.0

取模取余

>>> a = 10
>>> b = 3
>>> a // b
3
>>> a % b
1

2. Python比较运算符

以下假设变量a为10,变量b为20:

运算符

描述

实例

==

等于 - 比较对象是否相等

(a == b) 返回 False。

!=

不等于 - 比较两个对象是否不相等

(a != b) 返回 true.

>

大于 - 返回x是否大于y

(a > b) 返回 False。

<

小于 - 返回x是否小于y。所有比较 运算符返回1表示真,返回0表示假。这分别与特殊的 变量True和False等价。注意,这些变量名的大写。

(a < b) 返回 true。

>=

大于等于 - 返回x是否大于等于y。

(a >= b) 返回 False。

<=

小于等于 - 返回x是否小于等于y。

(a <= b) 返回 true。

以下实例演示了Python所有比较运算符的操作:

判断两数是否相等

>>> a = 1
>>> b = 1
>>> a == b
True
>>> a != b
False

判断 a 是否大于 b

>>> a = 1
>>> b = 2
>>> a > b
False
>>> a < b
True

3. Python赋值运算符

以下假设变量a为10,变量b为20:

运算符

描述

实例

=

简单的赋值运算符

c = a + b 将 a + b 的运算结果赋值为 c

+=

加法赋值运算符

c += a 等效于 c = c + a

-=

减法赋值运算符

c -= a 等效于 c = c - a

*=

乘法赋值运算符

c = a 等效于 c = c a

/=

除法赋值运算符

c /= a 等效于 c = c / a

%=

取模赋值运算符

c %= a 等效于 c = c % a

**=

幂赋值运算符

c = a 等效于 c = c a

//=

取整除赋值运算符

c //= a 等效于 c = c // a

以下实例演示了Python所有赋值运算符的操作:

这里只以加减为例,其它的同理

>>> a = 1
>>> a += 2
>>> a
3
>>> a += 2
>>> a
5
>>> a -= 2
>>> a
3

4. Python位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

运算符

描述

实例

&

按位与运算符

(a & b) 输出结果 12 ,二进制解释: 0000 1100

|

按位或运算符

(a | b) 输出结果 61 ,二进制解释: 0011 1101

^

按位异或运算符

(a ^ b) 输出结果 49 ,二进制解释: 0011 0001

~

按位取反运算符

(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。

<<

左移动运算符

a << 2 输出结果 240 ,二进制解释: 1111 0000

>>

右移动运算符

a >> 2 输出结果 15 ,二进制解释: 0000 1111

以下实例演示了Python所有位运算符的操作:

与运算

>>> a = 60  # 60 = 0011 1100
>>> b = 13  # 13 = 0000 1101
>>> c = 0
>>>  a & b  # 12 = 0000 1100
12

或运算

>>> a | b  #  61 = 0011 1101
61

异或运算

>>> a ^ b  # 49 = 0011 0001
49

取反运算

>>> a = 60  # 60 = 0011 1100
>>> ~a        # -61 = 1100 0011
-61

左移动运算符

>>> a = 60  # 60 = 0011 1100
>>> a << 2  # 240 = 1111 0000
240

右移动运算符

>>> a = 60  # 60 = 0011 1100
>>> a >> 2  # 15 = 0000 1111
15

5. Python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运 | 逻 | 描述 算 | 辑表 | 符 | 达式 |

实例

and

x and y

布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

(a and b) 返回 20。

or

x or y

布尔”或” - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

(a or b) 返回 10。

not

not x

布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not(a and b) 返回 False

以上实例输出结果:

and:必须都为True,才能返回True,否则返回False

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

or:只要有一个为True,就返回True,其他返回False

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

not:与原值取反

>>> not True
False
>>> not False
True

6. Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符

描述

实例

in

如果在指定的序列中找到 值返回True,否则返回False。

x 在 y序列中 , 如果x在y序列中返回True。

not in

如果在指定的序列中没有找到 值返回True,否则返回False。

x 不在 y序列中 , 如果x不在y序列中返回True。

以下实例演示了Python所有成员运算符的操作:

>>> "Apple" in ["Apple", "Huawei"]
True
>>>
>>> "Vivo" not in ["Apple", "Huawei"]
True

7. Python身份运算符

身份运算符用于比较两个对象的存储单元

运 | 描述 算 | 符 |

实例

is

is是判断两个标 识符是不是引用自一个对象

x is y, 如果 id(x) 等于 id(y) , is 返回结果 1

is not

is not是判断两个标 识符是不是引用自不同对象

x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

以下实例演示了Python所有身份运算符的操作:

>>> a = 1000
>>> b = 1000
>>> id(a)
4532310864
>>> id(b)
4532311632
>>> a is b
False

8. Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符

描述

**

指数 (最高优先级)

~,+,-

按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

*,/,%,//

乘,除,取模和取整除

+,-

加法减法

>>,<<

右移,左移运算符

&

位 ‘AND’

^,|

位运算符

<=,<,>,>=

比较运算符

<>,==,!=

等于运算符

=,%=,/=,//=,-=,+=,*=,**=

赋值运算符

is,is not

身份运算符

in,not in

成员运算符

not,or,and

逻辑运算符

以下实例演示了Python运算符优先级的操作:

>>> 20 + ( 30 * 2 ) / 5
32.0

计算顺序是

30*2 = 60

60/5 = 12.0

20 + 12.0 = 32.0

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89609
  • 运算符
    +关注

    关注

    0

    文章

    173

    浏览量

    11947
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    cw32f030c8实现点灯

    GPIOA->ODR |= (1 << 1); 这行代码使用按位或运算符(|)设置GPIOA的ODR寄存器的第1位。在这种情况下,我们要求第1位(对应
    发表于 12-10 08:07

    Termux中调试圣诞树Python代码

    syntax 调试: 重新打开文件:nano christmas_tree.py; 检查代码缩进(Python缩进必须统一,用空格/制表,不能混); 检查括号、引号是否成对(比如print
    发表于 12-09 09:02

    C语言宏拼接运算符典型使用

    在C语言中,##运算符(称为[size=16.002px]标记拼接运算符)用于宏定义中将两个标记(token)拼接成一个新的标记。它在预处理阶段处理,常用于动态生成变量名、函数名或类型名,以提高代码
    发表于 11-20 08:27

    第4章 C语言基础以及流水灯的实现(4.3 4.4)

    4.3 C语言基本运算符 小学数学学过加、减、乘、除等运算符号以及四则混合运算,而这些运算符号在C语言中也有,但是有些表达方法不一样,并且还有额外的
    的头像 发表于 10-29 15:30 196次阅读

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    《ESP32S3 Arduino开发指南》第三章 C/C++语言基础

    基础,由于篇幅有限,在此仅对C/C++语言基础进行简单介绍。本章将分为如下9个小节:3.1 数据类型3.2 运算符3.3 表达式3.4 数组3.5 字符串3.6 注释3.7 顺序结构3.8 选择结构
    发表于 06-10 09:20

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是Python程序?
    的头像 发表于 03-25 09:27 1554次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    必看!15个C语言常见陷阱及避坑指南

      C语言虽强大,但隐藏的“坑”也不少!稍不留神就会导致程序崩溃、数据异常。本文整理15个高频陷阱,助你写出更稳健的代码!   陷阱1:运算符优先级混淆  问题:运算符优先级不同可能导致计算顺序错误
    的头像 发表于 03-16 12:10 1399次阅读

    全套C语言培训资料—PPT课件

    全套C语言培训资料,共427页,13个章节:C语言概述、程序的灵魂—算法、数据类型 & 运算符与表达式、顺序程序设计、选择结构程序设计、循环控制、数组、函数、预处理命令、指针、结构体
    发表于 03-12 14:50

    USB组合设备的配置描述里一定要用IAD描述吗?

    USB组合设备的配置描述里一定要用IAD描述
    发表于 03-11 06:41

    VirtualLab Fusion应用:灵活的区域定义

    详细介绍了区域配置的过程。 区域定义 简单区域 多边形区域 采样区域 复合区域 更复杂的形状,如甜甜圈或棋盘区域,可以使用复合区域类型生成,它根据逻辑运算符组合多个单独的区域。 使用不同逻辑运算符组成的区域 用作优化区域 用作评估区域 用于光导元件 分割
    发表于 02-24 09:47

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2240次阅读

    卡诺图与布尔代数的联系

    )、NOT(非)等,这些运算符可以组合起来表示复杂的逻辑关系。 布尔代数的规则包括: 交换律:A AND B = B AND A;A OR B = B OR A 结合律:(A AND B) AND C = A
    的头像 发表于 01-14 17:15 1174次阅读

    VirtualLab Fusion:区域定义

    更复杂的形状,如甜甜圈或棋盘区域,该类型使用逻辑运算符组合多个单独的区域。 **使用不同逻辑运算符组合区域** 我们演示了不同的运算符对(解析定义的)椭圆和代表LightTrans标志的采样区域的组合
    发表于 01-06 08:56