原文:https://blog.csdn.net/liang19890820/article/details/69690954

简述

在 Python 中,运算符是执行算术或逻辑运算的特殊符号,操作的值被称为操作数。例如:

>>> 5 + 6
11
  • 1
  • 2

这里,+ 是执行加法的运算符,5 和 6 是操作数,11 是操作的输出。

版权声明:一去、二三里,未经博主允许不得转载。

运算符种类

在 Python 中,支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 逻辑(布尔)运算符
  • 位运算符
  • 赋值运算符
  • 特殊运算符 
    • 成员运算符
    • 身份运算符

算术运算符

算术运算符用于执行加、减、乘、除等数学运算。

运算符 含义 示例
+ 加 - 两个操作数相加,或者一元加 x + y
- 减 - 两个操作数相减,或者一元减 x - y
* 乘 - 两个操作数相乘,或是返回一个被重复若干次的字符串 x * y
/ 除 - 两个操作数相除(总是浮点数) x / y
% 取模 - 返回除法(/)的余数 x % y(x/y 的余数)
// 取整除 - 返回商的整数部分 x // y
** 幂 - 返回 x 的 y 次幂 x ** y

示例:

>>> x = 8
>>> y = 3
>>>
>>> x + y
11
>>>
>>> x - y
5
>>>
>>> x * y
24
>>>
>>> x / y # 总是浮点数
2.6666666666666665
>>>
>>> x // y
2
>>>
>>> x ** y
512
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

注意: 除法 / 运算的结果总是浮点数。例如:4 / 2 返回的是 2.0,而不是 2。

比较运算符

比较运算符又称关系运算符,用于比较值,根据条件返回 True 或 False。

运算符 含义 示例
> 大于 - 如果左操作数大于右操作数,则为 True x > y
< 小于 - 如果左操作数小于右操作数,则为 True x < y
== 等于 - 如果两个操作数相等,则为 True x == y
!= 不等于 - 如果两个操作数不相等,则为 True x != y
>= 大于等于 - 如果左操作数大于或等于右操作数,则为 True x >= y
<= 小于等于 - 如果左操作数小于或等于右操作数,则为 True x <= y

示例:

>>> x = 6
>>> y = 10
>>>
>>> x > y
False
>>>
>>> x < y
True
>>>
>>> x == y
False
>>>
>>> x != y
True
>>>
>>> x >= y
False
>>>
>>> x <= y
True
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

逻辑运算符

逻辑运算符又称布尔运算符,通常用于测试真假值。

运算符 含义 示例
and 逻辑与 - 如果两个操作数都为 True,则为 True x and y
or 逻辑或 - 如果任一操作数为 True,则为 True x or y
not 逻辑非 - 如果操作数为 False,则为 True(补数) not x

示例:

>>> x = True
>>> y = False
>>>
>>> x and y
False
>>>
>>> x or y
True
>>>
>>> not x
False
>>>
>>> not y
True
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

位运算符

位运算符作用于操作数,就像它们是二进制数字的字符串一样,它一点点地运行,因此而得名。

运算符 含义 示例
& 按位与(AND) x & y
| 按位或(OR) x | y
~ 按位翻转/取反(NOT) ~x
^ 按位异或(XOR) x ^ y
>> 按位右移 x >> 2
<< 按位左移 x << 2

例如:2 是二进制 10,7 是 111。

令 x = 10(二进制 0000 1010),y = 4(二进制 0000 0100),进行位运算:

>>> x = 10  # 二进制 0000 1010
>>> y = 4 # 二进制 0000 0100
>>>
>>> x & y # 0000 0000
0
>>>
>>> x | y # 0000 1110
14
>>>
>>> ~x # 1111 0101
-11
>>>
>>> x ^ y # 0000 1110
14
>>>
>>> x >> 2 # 0000 0010
2
>>>
>>> x << 2 # 0010 1000
40
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

赋值运算符

赋值运算符用于为变量赋值。

例如:x = 5,是一个简单的赋值运算符,它将右侧的值 5 分配给左侧的变量 x。

在 Python 中,有各种各样的复合运算符,例如:x += 5,先将变量 x 的值与 5 相加,再将最终结果分配给变量 x,等价于:x = x + 5

运算符 示例 等价于
= x = 5 x = 5(相同)
+= x += 5 x = x + 5
-= x -= 5 x = x - 5
*= x *= 5 x = x * 5
/= x /= 5 x = x / 5
%= x %= 5 x = x % 5
//= x //= 5 x = x // 5
**= x **= 5 x = x ** 5
&= x &= 5 x = x & 5
|= x |= 5 x = x | 5
^= x ^= 5 x = x ^ 5
>>= x >>= 5 x = x >> 5
<<= x <<= 5 x = x << 5

特殊运算符

除以上运算符外,Python 还提供了一些特殊类型的运算符:

  • 身份运算符
  • 成员运算符

身份运算符

身份运算符用于检查两个值(或变量)是否位于存储器的同一部分。

注意: 两个变量相等,并不意味着它们也相同。

运算符 含义 示例
is 如果操作数相同,则为 True(引用同一个对象) x is True
is not 如果操作数不相同,则为 True(引用不同的对象) x is not True

示例:

>>> x1 = 5
>>> y1 = 5
>>>
>>> x2 = 'Python'
>>> y2 = 'Python'
>>>
>>> x3 = [1, 2, 3]
>>> y3 = [1, 2, 3]
>>>
>>> x1 is not y1
False
>>>
>>> x2 is y2
True
>>>
>>> x3 is y3
False
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

可以看到 x1 和 y1 是相同值的整数,所以它们相等且相同。x2 和 y2(字符串)同样是这样。

但 x3 和 y3 是列表,它们相等,但不相同。由于列表是可变的(可以更改),即使它们相等,解释器也会将它们分别存储在内存中。

成员运算符

成员运算符用于测试在序列(字符串、列表、元组、集合和字典)中是否可以找到一个值/变量。

注意: 在字典中,只能检测 key 是否存在,而不能检测 value。

运算符 含义 示例
in 如果在序列中找到值/变量,则为 True 5 in x
not in 如果在序列中没有找到值/变量,则为 True 5 not in x

示例:

>>> x = 'Hello, World!'  # 字符串
>>> y = {1:'Java', 2:'Python'} # 字典
>>>
>>> 'H' in x
True
>>>
>>> 'hello' not in x
True
>>>
>>> 1 in y
True
>>>
>>> 'Python' in y
False
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这里,'H' 在 x 中,但 'hello' 不存在于 x 中(切记,Python 是区分大小写的)。同样地,1 是 key,'Python' 是字典 y 中的值。因此,'Python' in y 返回 False。

(转)Python 运算符的更多相关文章

  1. python运算符重载

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

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

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

  3. Python运算符与表达式

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

  4. (三)Python运算符

    一.python运算符相关 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 1.python算数运算符 ...

  5. 【Python 补充01】Python运算符

    Python运算符 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 1.算术运算符 + - * / # 加减乘除 % # 取模(返回除 ...

  6. python运算符与数据类型

    python运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 以下假设变量: a=10,b=20: ...

  7. Python——运算符

    Python算术运算符 以下假设变量: a=10,b=20: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 ...

  8. python运算符一些注意项

    python运算符一些注意项 '/'浮点除,和'//'整除 单个'/'是浮点除,两个除号'//'是整除 整除也适用于浮点数.但是,用整除计算浮点除的结果只是在整除的结果上浮点化,比如3.6//2.1, ...

  9. 【279】◀▶ Python 运算符说明

    参考:Python 运算符说明 目录: 一.算术运算符 二.比较(关系)运算符 三.赋值运算符 四.位运算符 五.逻辑运算符 六.成员运算符 七.身份运算符 八.运算符优先级 一.Python 算术运 ...

  10. python运算符及优先级顺序

    python语言是一门脚本语言,支持面向对象.面向过程编程,兼具编译性和解释性的动态语言,整理出学习过程中一些基本Python运算符和运算符的优先级顺序. 一.算术运算符 运算符 描述 + 加 - 两 ...

随机推荐

  1. 企业搜索引擎开发之连接器connector(二十三)

    我们在前面的文章已经看到,ConnectorCoordinatorImpl类也实现了ChangeHandler接口,本文接下来分析实现该接口的作用 class ConnectorCoordinator ...

  2. Linux(一) - Unix&Linux 历史

    Unix Unix 的诞生 Unix的历史可以追溯到20世纪60年代中期,当时麻省理工学院,AT&T,贝尔实验室和通用电气公司联合开发了一种名为Multics的操作系统,Multics 中存在 ...

  3. IDEA配置spring

    大半天都在看spring,以前总是看不下去,这次慢慢来,慢慢看. 看那些基础的,倒是还不错.好多都是关于helloworld的,写完helloworld,觉得不怎么形象.于是写了动物,作为接口. (1 ...

  4. Linux Socket - UDP链接包

    LINUX UDP SOCKET 01 UDP号绑定会报错吗? 会的,提示Address is using,本地的没有区别 UDP不需要发起链接,不知道是不是连接成功 client的IP地址和端口号不 ...

  5. testNG的高级用法 --DataProvider

    @DataProvider Method参数 数据提供者的第一个参数是java.lang.reflect.Method,TestNG传递这个将调用的测试方法.如果您希望数据提供者根据不同的测试方法返回 ...

  6. C#递归例程

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  7. jQuery查找标签--选择器,筛选器,模态对话框, 左侧菜单栏

    查找标签 选择器: 基本选择器(同css) id选择器 $("#id") 标签选择器 $('tagName') class选择器 $(".className") ...

  8. 62 不同路径 leetcode JAVA

    题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 问 ...

  9. java学习笔记—国际化(41)

    国际化:internationalization即I18N. 举例: 本科高校的网站,一般的都有中文和英文两种页面风格.因此将这种根据不同用户群体显示不同的页面风格的方式称之为页面的国际化. 翻译 V ...

  10. 深入了解java虚拟机(JVM) 第十一章 类的加载

    一.类加载机制概述 虚拟机把描述类的数据从class文件加载到内存并对数据进行效验,解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制. 二.类加载的机制 类加载的过程 ...