Python运算符
时间:2022-05-03
本文章向大家介绍Python运算符,主要内容包括上文回顾、Python运算符、逻辑运算符、比较运算符、位运算符、成员运算符、其他运算符、本文总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
今天开始讲解Python的运算符,这一节比较简单,知识点不多。
上文回顾
今天回顾一下昨天的文章主要讲了哪些知识点:
- Python是一门动态的强类型语言;
- 变量没有类型,而变量指向的对象才有类型;
- 赋值意味着创建了新的对象(不过Python解释器会缓存小的数字及小的字符串);
- 变量、对象、引用之间的关系。
Python运算符
运算符是有优先级的,我们先看看其优先级:运算符的优先级,
1 + 2 * 3
7
2 * 3 ** 2
18
# 算术运算符优先级高于比较运算符
2 * 3 > 1 + 2
True
# 比较运算符的优先级高于逻辑运算符
2 * 3 > 1 + 2 and True
True
(2 * 3 > 1 + 2) and True
True
当我们对运算符的优先级不是很确定的时候,可以使用小括号。
算术运算符
算术运算符通常只针对数值类型。注意与Python2的区别。
自然除,
>>> 3 / 5
0.6
整除,
>>> 3 // 5
0
逻辑运算符
参与逻辑运算的成员只能是bool类型,或者可以隐式转化为bool类型的类型。
and需要运算符两边都是True结果才为True。
>>> True and True
True
or只要运算符两边任意一个为True,结果就为True,
>>> True or False
True
短路,
>>> not True
False
看一个例子,
def add(x, y):
print('{0} + {1}'.format(x, y))
return x + y
add(1, 3)
1 + 3
4
add(1, 3) > add(1, 2) and (2, 4) < add(3, 4)
1 + 3
1 + 2
2 + 4
3 + 4
True
# 逻辑运算总是从左到右计算,一旦能够决定表达式最终的值,将立刻停止计算,
# 并返回
add(1, 3) < add(1, 2) and (2, 4) < add(3, 4)
1 + 3
1 + 2
False
add(1, 3) > add(1, 2) or add(2, 4) < add(3, 4)
1 + 3
1 + 2
True
比较运算符
- 相等
==
- 不等于
!=
- 大于
>
- 大于等于
>=
- 小于
<
- 小于等于
<=
几个例子,
1 == 1
True
1 == 2
False
1 != 2
True
1 > 2
False
2 > 1
True
2 >= 1
True
2 >= 2
True
除了==
和!=
,两边的类型相同。
位运算符
# 按位与
bin(60)
'0b111100'
# 0011 1100
bin(12)
'0b1100'
# 0000 1100
60 & 12
12
# 按位或
60 | 12
60
# 按位异或
# 相同为0,不同为1
60 ^ 12
48
# 取反
~60
-61
# 右移
60 >> 2
15
# 左移
60 << 2
240
成员运算符
用于判断一个元素是否在容器中。
in
not in
一个简单的例子:
>>> L1 = [1, 2, 3]
>>> 1 in L1
True
>>> s = 'spam'
>>> 'a' in s
True
>>> 'x' in s
False
>>> 'x' not in s
True
其他运算符
- 赋值
a = 1
a = 3 + 4
# 左边是一个标识符,右边是一个值(或者可以计算为一个值)
# 让这个标识符指向这个值所的内存
本文总结
今天的内容比较简单,概括一下主要讲解了:
- 算术运算符
- 逻辑运算符
- 比较运算符
- 位运算符
- 成员运算符
- 其他运算符
明天会继续讲解,讲解的内容为流程控制
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(二)
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)
- Java操作MongoDB
- 初识MongoDB分片
- Linux上安装Redis
- SpringBoot+WebSocket实现在线聊天(二)
- SpringBoot中使用Freemarker构建邮件模板
- SpringBoot中发送QQ邮件
- SpringBoot中使用POI,快速实现Excel导入导出
- 代理技术 | 重磅,代理服务器背后的故事(正向、反向代理)
- SpringBoot中自定义参数绑定
- ElementUI中tree控件踩坑记
- 一个隐马尔科夫模型的应用实例:中文分词
- 使用MyBatis轻松实现递归查询与存储过程调用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法