9-运算符

简介: Python

运算符
运算符:以1 + 2为例,1和2被称为操作数,“+” 称为运算符。

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

1.算术运算符
2.比较(关系)运算符
3.赋值运算符
4.逻辑运算符
5.位运算符
6.成员运算符
7.身份运算符
8.三目运算符
9.算术元运算符
以下假设变量: a=10,b=20:
image.png

python中,有三种除法,分别是
10/3 3.333333333

1.计算结果是浮点数,即使两个整数恰好整数,结果也是浮点数
9/3 3.0

2.只取整数部分,余数被抛弃
10//3 3

3.余数运算,可以得到两个整数相除的余数
10%3 1

如果想同时得到商和余数,可以用这个方法
divmod(10,3) (3,1)

因为浮点数精度的问题,Python还存在一些计算方面的小问题
0.1+0.1+0.1-0.3
5.551115123125783e-17

要解决这个问题,可以导入decimal模块
from decimal import Decimal
Decimal(‘0.1’)+Decimal(‘0.1’)+Decimal(‘0.1’)-Decimal(‘0.3’)
Decimal(‘0.0’)

比较运算符
image.png

1.下面三个选项哪个为True?
‘abc’ < ‘xyz’

为什么字符串可以进行大小比较,这是因为电脑存储字符时,是以ASCII码值存储的
也就是A是65,z是90.你输入的字符也是一个对应的数字

(3,2) < (‘a’,‘b’)

2.请分别说出下面各项的值:
True == 1
False == 0
3>2>1
3>2>2
(3>2)>1
(3>2)>2

对于连续比较,Python是按这种机制解释的:
3>2>1 等于 (3>2) and (2>1) ,相当于两个比较,然后用与&再结合起来。
赋值运算符
image.png

注意对于 a /= b 之类的操作,等同于a = a / b, 而不是 a = b / a,方向一定不要搞反了。
a = 1
a++
print(a)

在python中是没有++的这种写法
位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
image.png

逻辑运算符
Python语言支持逻辑运算符,但是没有其它语言中的&&和||语法,取而代之的是更加人性化的英文单词and or not(全部都是小写字母)。以下假设变量 a 为 10, b为 20:
image.png
image.png

成员运算符
in 与 not in是Python独有的运算符(全部都是小写字母),用于判断对象是否某个集合的元素之一,非常好用,并且运行速度很快。返回的结果是布尔值类型的True或者False。
image.png

image.png

身份运算符
这也是Python的特色语法(全部都是小写字母)。
image.png

注意is与比较运算符“==”的区别,两者有根本上的区别,切记不可混用:

is用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等!
image.png

三目运算符
python中的三目运算符不像其他语言一般的表示方法:判定条件?为真时的结果:为假时的结果。
在python中的格式为:为真时的结果 if 判定条件 else 为假时的结果,例如:
a = 1
b = 2
h = “”
h = a-b if a>b else a+b

如果a>b执行a-b,如果a<b执行a+b
运算符优先级
下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)
image.png

相关文章
|
Unix 网络安全 iOS开发
Mac 电脑如何安装Wireshark?
Mac 电脑如何安装Wireshark?
1226 0
Mac 电脑如何安装Wireshark?
|
缓存 测试技术 编译器
[Eigen中文文档] 稠密矩阵分解函数对比
本文介绍了 Eigen 为各种方阵和过约束问题提供的稠密矩阵分解的速度比较。
299 0
|
9月前
|
人工智能 Java 测试技术
《鸿蒙Next集成第三方AI图形渲染库:开启图形技术新征程》
在鸿蒙Next中集成第三方AI图形渲染库可提升应用的图形处理能力和视觉效果。开发者需熟悉开发环境,明确需求并选择合适的渲染库(如OpenGL、Vulkan等),获取相关文件与文档。集成步骤包括导入库文件、配置权限与资源、初始化及调用库功能。随后进行系统适配、性能优化和兼容性处理,确保不同设备上的正常运行。最后通过功能、性能和兼容性测试,确保应用稳定性和用户体验。这一过程要求开发者全面掌握鸿蒙开发技术和第三方库的使用方法,推动图形技术领域的创新。
171 7
|
9月前
|
供应链 数据挖掘 API
1688app 商品详情接口系列(1688API)
1688作为国内知名批发采购平台,提供了一系列商品详情接口(API),助力企业和开发者获取商品基础、价格、库存及供应商信息。通过Python示例代码展示如何调用这些接口,应用场景涵盖采购决策辅助、数据分析与市场调研、电商平台整合及供应链管理系统的优化,为企业和采购商提供有力的数据支持,提升业务效率和竞争力。
300 15
|
9月前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化事件响应:智慧运维新时代
基于AI的自动化事件响应:智慧运维新时代
388 11
|
12月前
|
人工智能
三文带你轻松上手鸿蒙的AI语音03-文本合成声音
三文带你轻松上手鸿蒙的AI语音03-文本合成声音
295 1
三文带你轻松上手鸿蒙的AI语音03-文本合成声音
|
11月前
|
存储 Java 调度
Java 中的优先队列 PriorityQueue 详解
【10月更文挑战第22天】优先队列 PriorityQueue 是一种非常实用的数据结构,在许多场景中都能发挥重要作用。通过深入了解其特点和用法,我们可以更好地利用它来解决实际问题。
484 13
|
12月前
|
存储 安全 Java
JDK1.8 新的特性
JDK1.8 新的特性
131 0
|
消息中间件 存储 缓存
深入理解Kafka核心设计及原理(二):生产者
深入理解Kafka核心设计及原理(二):生产者
165 8
|
测试技术 Python
python 命令行参数 argparse详解
这篇文章是关于Python命令行参数解析库`argparse`的详细解释和使用教程。文中提供了完整的代码模板,包括如何定义命令行参数、如何添加位置参数、可选参数和布尔参数,以及如何解析和使用这些参数。文章还包含了示例代码和测试用例,以展示如何在实际程序中应用`argparse`库。
186 0