3.python运算符
Python 提供了多种运算符,用于执行算术、比较、逻辑等各种操作。以下是 Python 中常见的运算符类型及其用法:
文章目录
- 1. 算术运算符
- 2. 比较运算符
- 3. 逻辑运算符
- 4. 赋值运算符
- 5. 位运算符
- 6. 成员运算符
- 7. 身份运算符
- 8. 运算符优先级
1. 算术运算符
算术运算符用于执行基本的数学运算。
| 运算符 | 描述 | 示例 |
|---|---|---|
+ | 加法 | x + y |
- | 减法 | x - y |
* | 乘法 | x * y |
/ | 除法(返回浮点数) | x / y |
// | 整除(返回整数商) | x // y |
% | 模(取余) | x % y |
** | 幂(指数) | x ** y |
示例:
x = 10
y = 3print(x + y) # 输出: 13
print(x - y) # 输出: 7
print(x * y) # 输出: 30
print(x / y) # 输出: 3.3333333333333335
print(x // y) # 输出: 3
print(x % y) # 输出: 1
print(x ** y) # 输出: 1000
2. 比较运算符
比较运算符用于比较两个值,并返回一个布尔值(True 或 False)。
| 运算符 | 描述 | 示例 |
|---|---|---|
== | 等于 | x == y |
!= | 不等于 | x != y |
> | 大于 | x > y |
< | 小于 | x < y |
>= | 大于或等于 | x >= y |
<= | 小于或等于 | x <= y |
示例:
x = 10
y = 3print(x == y) # 输出: False
print(x != y) # 输出: True
print(x > y) # 输出: True
print(x < y) # 输出: False
print(x >= y) # 输出: True
print(x <= y) # 输出: False
3. 逻辑运算符
逻辑运算符用于组合多个条件表达式,并返回一个布尔值。
| 运算符 | 描述 | 示例 |
|---|---|---|
and | 逻辑与(所有条件都为真时返回 True) | x > 0 and x < 10 |
or | 逻辑或(任意一个条件为真时返回 True) | x < 0 or x > 10 |
not | 逻辑非(取反) | not (x == y) |
示例:
x = 5
y = 3print(x > 0 and x < 10) # 输出: True
print(x < 0 or x > 10) # 输出: False
print(not (x == y)) # 输出: True
4. 赋值运算符
赋值运算符用于将值赋给变量。除了简单的 =,Python 还提供了复合赋值运算符,可以简化某些操作。
| 运算符 | 描述 | 等价于 |
|---|---|---|
= | 简单赋值 | x = 5 |
+= | 加法赋值 | x += 3 等价于 x = x + 3 |
-= | 减法赋值 | x -= 3 等价于 x = x - 3 |
*= | 乘法赋值 | x *= 3 等价于 x = x * 3 |
/= | 除法赋值 | x /= 3 等价于 x = x / 3 |
//= | 整除赋值 | x //= 3 等价于 x = x // 3 |
%= | 模赋值 | x %= 3 等价于 x = x % 3 |
**= | 幂赋值 | x **= 3 等价于 x = x ** 3 |
示例:
x = 5
x += 3 # x = x + 3
print(x) # 输出: 8x = 10
x //= 3 # x = x // 3
print(x) # 输出: 3
5. 位运算符
位运算符用于对二进制数进行按位操作。
| 运算符 | 描述 | 示例 |
|---|---|---|
& | 按位与 | x & y |
| ` | ` | 按位或 |
^ | 按位异或 | x ^ y |
~ | 按位非 | ~x |
<< | 左移 | x << n |
>> | 右移 | x >> n |
示例:
x = 6 # 二进制: 0110
y = 3 # 二进制: 0011print(x & y) # 输出: 2 (二进制: 0010)
print(x | y) # 输出: 7 (二进制: 0111)
print(x ^ y) # 输出: 5 (二进制: 0101)
print(~x) # 输出: -7 (二进制: 11111111...1010, 补码表示)
print(x << 1) # 输出: 12 (二进制: 1100)
print(x >> 1) # 输出: 3 (二进制: 0011)
6. 成员运算符
成员运算符用于检查某个值是否在序列(如字符串、列表、元组等)中。
| 运算符 | 描述 | 示例 |
|---|---|---|
in | 如果值在序列中则返回 True | 'a' in 'apple' |
not in | 如果值不在序列中则返回 True | 'b' not in 'apple' |
示例:
fruits = ["apple", "banana", "cherry"]print("apple" in fruits) # 输出: True
print("orange" not in fruits) # 输出: True
7. 身份运算符
身份运算符用于比较两个对象是否是同一个对象(即它们在内存中的地址是否相同)。
| 运算符 | 描述 | 示例 |
|---|---|---|
is | 如果两个对象是同一个对象则返回 True | x is y |
is not | 如果两个对象不是同一个对象则返回 True | x is not y |
示例:
x = [1, 2, 3]
y = [1, 2, 3]print(x is y) # 输出: False (虽然内容相同,但它们是不同的对象)
z = x
print(x is z) # 输出: True (x 和 z 是同一个对象)# 对于不可变对象,Python 可能会重用相同的对象
a = "hello"
b = "hello"
print(a is b) # 输出: True (Python 优化,字符串常量可能共享同一个对象)
8. 运算符优先级
Python 中的运算符有不同的优先级,决定它们在表达式中先计算哪个部分。以下是从高到低的优先级顺序:
- 括号
() - 指数
** - 正负号
+x,-x - 乘法、除法、取模、整除
*,/,%,// - 加法、减法
+,- - 位移
<<,>> - 按位与
& - 按位异或
^ - 按位或
| - 比较运算符
==,!=,>,<,>=,<= - 身份运算符
is,is not - 成员运算符
in,not in - 逻辑非
not - 逻辑与
and - 逻辑或
or - 赋值运算符
=,+=,-=,*=,/=,//=,%=,**=
示例:
x = 10 + 3 * 2 # 先计算乘法,再加法
print(x) # 输出: 16y = (10 + 3) * 2 # 先计算括号内的加法,再乘法
print(y) # 输出: 26
相关文章:
3.python运算符
Python 提供了多种运算符,用于执行算术、比较、逻辑等各种操作。以下是 Python 中常见的运算符类型及其用法: 文章目录 1. 算术运算符2. 比较运算符3. 逻辑运算符4. 赋值运算符5. 位运算符6. 成员运算符7. 身份运算符8. 运算符优先级 1. 算术运算符 算…...
【竞技宝】CS2-上海major:spirit力克MOUZ niko梦碎
北京时间2024年12月15日,CS2上海major正在如火如荼的进行中,昨日迎来两场半决赛MOUZ对阵spirit以及FAZE对阵G2。Spirit和MOUZ和各自赢下了自己的选图之后,spirit双子星在图三抗住压力帮助队伍杀入决赛。而G2和FAZE的比赛中,FAZE依然延续上一场的火热手感完全压制了G2,G2的明星选…...
【Leetcode 每日一题】3266. K 次乘运算后的最终数组 II
问题背景 给你一个整数数组 n u m s nums nums,一个整数 k k k 和一个整数 m u l t i p l i e r multiplier multiplier。 你需要对 n u m s nums nums 执行 k k k 次操作,每次操作中: 找到 n u m s nums nums 中的 最小 值 x x x&a…...
etcd集群常见日志
1、节点失去领导者 {"level":"info","ts":"2024-05-07T01:54:04.948Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"raft.node: 9afce9447872453 lost le…...
【漫话机器学习系列】005.神经网络的结构(architecture on the neural network)
神经网络(Neural Network)是一种模拟人脑神经系统的计算模型,由大量相互连接的神经元(节点)组成,广泛应用于深度学习和机器学习领域。以下是神经网络的基本结构及关键组成部分。 1. 神经网络的基本组成 一…...
基于 Couchbase 数据仓库元数据管理的可行性方案
在大数据体系中,元数据管理是数据治理的关键一环。以下是一套元数据管理的可行性方案,适合你的当前架构设计(基于 Couchbase 数据仓库)并支持高效管理数据的分层与结构。 1. 元数据管理的目标 统一数据管理:清晰描述 …...
SpringBoot:快速构建微服务应用
一、SpringBoot简介 什么是SpringBoot 是由Pivotal团队提供的快速开发框架。它基于Spring框架,可以用于快速构建微服务应用程序。SpringBoot提供了一种快速、便捷的方式来启动和配置一个基于Spring的应用程序,它封装了很多常用的配置,简化了开…...
汽车嵌入式软件构建高效技术团队的全面思考
在汽车嵌入式软件开发领域,构建一支高效的通用技术团队至关重要。这类团队负责为各种项目提供可复用、标准化的技术基石,从而提高开发效率、降低成本并确保产品质量。构建这样的团队需要从技术能力、角色分工、标准化与复用、流程管理与质量保证、工具和…...
【跨库查询、多库查询】.NET开源 ORM 框架 SqlSugar 系列
文章目录 一、跨库方式1:跨库导航二、手动跨库查询三、同服务器:自动查询跨库查询3.1 Mysql和SqlServer自动3.2 自动: PgSql跨Scheme查询3.3 其他库同服务器 四、跨服务器:自动跨库查询4.1 配置SqlServer dblink4.2 配置 Oracle dblink4.3 配…...
智能人体安全防护:3D 视觉技术原理、系统架构与代码实现剖析
随着工业化程度的提高,生产安全已成为企业关注的重点。尤其是在一些存在禁区的工业厂区和车间,人员误入或违规进入将带来严重的安全隐患。为了解决这一问题,迈尔微视推出了智能人体安全检测解决方案,为企业提供全方位的人员安全监…...
第24周:文献阅读
目录 摘要 Abstract 一、现有问题 二、提出方法 三、创新点 模型结构创新 强化学习与GAN结合 属性特征与通顺性优化 四、方法论 生成对抗网络(GAN) 强化学习(RL) 模型组件 五、实验研究 数据集 数据预处理 评价指…...
yolov8 转华为昇腾om脚本
目录 yolov8 转华为昇腾 om脚本 测试ok 推理demo: yolov8 转华为昇腾 om脚本 测试ok import sys import osos.chdir(os.path.dirname(os.path.abspath(__file__)))import torchcurrent_dir = os.path.dirname(os.path.abspath(__file__))paths = [os.path.abspath(__file__)…...
分布式事物XA、BASE、TCC、SAGA、AT
分布式事务——Seata 一、Seata的架构: 1、什么是Seata: 它是一款分布式事务解决方案。官网查看:Seata 2.执行过程 在分布式事务中,会有一个入口方法去调用各个微服务,每一个微服务都有一个分支事务,因…...
域名信息收集(小迪网络安全笔记~
附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 2.1 域名信息收集 引子:上一章介绍了服务器的信息收集。本篇则介绍在面对存在Web资产企业时,其域名信息该如何收…...
力扣-图论-13【算法学习day.63】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…...
【设计模式】如何用C++实现观察者模式【发布订阅机制】
【设计模式】如何用C实现观察者模式【发布订阅机制】 一、问题背景 代码质量影响生活质量。最近工作中频繁接触各种设计模式,深刻体会到优秀的设计模式不仅能显著降低后续维护的压力,还能提升开发效率。观察者模式作为一种降低耦合度、提高扩展性的利器…...
【LC】2717. 半有序排列
题目描述: 给你一个下标从 0 开始、长度为 n 的整数排列 nums 。 如果排列的第一个数字等于 1 且最后一个数字等于 n ,则称其为 半有序排列 。你可以执行多次下述操作,直到将 nums 变成一个 半有序排列 : 选择 nums 中相邻的两…...
AI智算-k8s部署大语言模型管理工具Ollama
文章目录 简介k8s部署OllamaOpen WebUI访问Open-WebUI 简介 Github:https://github.com/ollama/ollama 官网:https://ollama.com/ API:https://github.com/ollama/ollama/blob/main/docs/api.md Ollama 是一个基于 Go 语言开发的可以本地运…...
CloudberryDB(二) 演化路线图
CloudberryDB 制定了演化路线图(https://github.com/orgs/cloudberrydb/discussions/369)并在逐步改进,这是 Cloudberry Database 发挥独特价值之处。 计划、正在进行或已完成的一些工作。 支持轻松升级 PostgreSQL 内核版本。 原有 Greenp…...
《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(二)
《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(二) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
