(转)Python 运算符
原文: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 运算符的更多相关文章
- python运算符重载
python运算符重载就是在解释器使用对象内置操作前,拦截该操作,使用自己写的重载方法. 重载方法:__init__为构造函数,__sub__为减法表达式 class Number: def __in ...
- Python运算符,python入门到精通[五]
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...
- Python运算符与表达式
Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符. 表达式是将不同类型的数据(常亮.变量.函数)用运算符按照一定得规则连接起来的式子. 算术运算符 ...
- (三)Python运算符
一.python运算符相关 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 1.python算数运算符 ...
- 【Python 补充01】Python运算符
Python运算符 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 1.算术运算符 + - * / # 加减乘除 % # 取模(返回除 ...
- python运算符与数据类型
python运算符 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 以下假设变量: a=10,b=20: ...
- Python——运算符
Python算术运算符 以下假设变量: a=10,b=20: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 ...
- python运算符一些注意项
python运算符一些注意项 '/'浮点除,和'//'整除 单个'/'是浮点除,两个除号'//'是整除 整除也适用于浮点数.但是,用整除计算浮点除的结果只是在整除的结果上浮点化,比如3.6//2.1, ...
- 【279】◀▶ Python 运算符说明
参考:Python 运算符说明 目录: 一.算术运算符 二.比较(关系)运算符 三.赋值运算符 四.位运算符 五.逻辑运算符 六.成员运算符 七.身份运算符 八.运算符优先级 一.Python 算术运 ...
- python运算符及优先级顺序
python语言是一门脚本语言,支持面向对象.面向过程编程,兼具编译性和解释性的动态语言,整理出学习过程中一些基本Python运算符和运算符的优先级顺序. 一.算术运算符 运算符 描述 + 加 - 两 ...
随机推荐
- RSA加密解密总结
简单的控制台程序 #include"stdafx.h" #include <math.h> #include<string.h> /*/求解密密钥d的函数( ...
- 23 DesignPatterns学习笔记:C++语言实现
DesignPatterns学习笔记:C++语言实现 (转载请注明出处:http://www.cnblogs.com/icmzn/p/5680784.html) 1. 创建型设计模式: (1)Faco ...
- 深海划水队项目--七天冲刺之day6
站立式会议:由于有位项目组成员回家了,所以由微信群在线讨论代替. 昨天已完成的任务:界面优化,实现方块的移动,旋转和下降. 今天已完成的任务:设置游戏按键,检查重合.检查是否超出边界.检查是否可以下落 ...
- CentOS 新系统后配置
1. 网络配置 略 1.2 ip_froward 查看 sysctl -a | grep ip_ 修改 vi /etc/sysctl.conf net.ipv4.ip_forward = 1 最大使用 ...
- linux inode cheat sheet
sector:扇区,硬盘存储的最小单位,大小为0.5KB(512字节) block:块文件存取的最小单位,1 block=8 sector,大小4KB inode:存储文件元信息.内容包括 * 文件的 ...
- bootstrap-treeview中文API 以及后台JSON数据处理
bootstrap-treeview 简要教程 bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件.该jQuery插件基于Twitter Bo ...
- PostgreSQL创建表及约束
创建表 语法: create table table_name ( column_name type column_constraint, table_constraint table_constra ...
- 杭州.Net 相关大公司,希望对大家有帮助
本人目前大四,还在实习.北京工作辞职后,打算回杭州看看.发现杭州的大公司相对北京好少啊,招.Net相关的公司就更少了... (我认为刚毕业生还是去大公司比较靠谱,一方面也是实力的体现)大学生,而且之前 ...
- 使用CDI+制作支持半透明的Panle
创建一个自定义控件程序集,并修改父类为Panle,添加如下代码: public partial class OpaqueLayer : Panel { private Color transparen ...
- .Net Core MVC初学习
.net core已经出来很长一段时间了,没有很好的学习过,现在工作不那么忙了,参考官方文档,在这里记录自己的学习过程! ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且连接 ...