当前位置: 首页 > news >正文

萌新学 Python 之运算符

Python 中运算符包括:算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符、海象运算符

算术运算符:加 +   减 -   乘 *   除 /   取整 //   求余 %   求幂 **

注意:取整时,一正一负整除,向下取整

比如 5 // -2 实际上是 -2.5 向下取整,结果为 -3

比较运算符:

大于 >   小于 <   大于等于 >=   小于等于 <=   等于 ==   不等于 !=   in 集合   is(比较的是内存地址)

比较运算符返回的是布尔值 True、False

比如用 is 判断相同字符串内存地址是否相同,先给字符串赋值到某地址,再从某地址中找到该字符串,所以是相等的

逻辑运算符:not 非、and 与、or 或

and:当多个条件同时 True 时,结果为 True,否则为 False

or:当多个条件同时False 时,结果为 False,否则为 True

not:条件为 True,结果为 False,反之,条件为 False,结果为 True

注意:优先级 not > and > or

赋值运算符:用于变量赋值

1.简单赋值,直接使用等号,比如 name = 'zhangsan'

2.算术赋值:+=   -=   *=   /=   //=   %=   **=

先进行算术运算,再进行赋值

链式赋值:赋值后,变量的内存地址是相同的,可变数据类型和不可变数据类型一样

a = b = c = 1   # 链式赋值
print(a is c, id(a), id(b))    # Truelist1 = [1, 2, 3]   # 可变数据类型,值相同,内存地址不同
list2 = [1, 2, 3]
print(list1 is list2, id(list1), id(list2))    # Falsex = y = [1, 2, 3]     # 链式赋值
print(x is y, id(x), id(y))     # True

结果如下:

解包赋值:经常用在变量交换

a, b = 1, 2     # a = 1, b = 2
a, b = b, a     # a = b = 2, b = a = 1   变量交换
print(a, b)     # a = 2, b = 1

位运算:把数值转为二进制进行计算

先进行位运算,再进行赋值

位赋值:>>= 按位右移     <<= 按位左移     &= 按位与     |= 按位或     ^= 按位异     ~ 按位非

>> 按位右移,低位舍去,高位补零

<< 按位左移,低位补零,高位保留

(先转成二进制)

# 右移两位
print(10 >> 2)    # 1010 -> 0010(末尾两位1和0舍去,前面两位补零)  结果为2
# 左移两位
print(10 << 2)    # 1010 -> 101000(末尾两位补零,前面不变)  结果为40

& 按位与:同时为 1,返回 1,否则返回 0

| 按位或:同时为 0,返回 0,否则返回 1

^ 按位异:位的值不同返回 1,否则返回 0

(两个二进制上下对比)

# 0010   2
# 1010   10
print(2 & 10)  # 0010  2  按位与
print(2 | 10)  # 1010  10 按位或
print(2 ^ 10)  # 1000  8  按位异

比如 2 的二进制是 0010

      10 的二进制是 1010

按位与 & 两者比较,位数同时为 1 结果为 1,同时为 0 或者一个 1 一个 0,结果为 0,所以是 0010,结果输出是 2

(同时为真)

按位或 | 两者比较,位数同时为 0 结果为 0,同时为 1 或者一个 1 一个 0,结果为 1,所以是1010,结果输出是 10

(同时为假)

按位异 ^ 两者比较,位数相同为 0,不同为 1,所以是 1000,结果输出是 8

~ 按位非:取反,1 和 0 互换,正负互换

~ 按位非的通用规则:-(数值) - 1

print(~ 10)    # -(10) - 1 = -11
print(~ -2)    # -(-2) - 1 = 1

海象运算(海象表达式):主要用在 if 条件中

格式:变量 := 表达式

说明:将表达式的结果返回给变量

print(str_len := len(input('输入字符串获取长度:')))

(可以是任意值,如果是比较运算返回的就是布尔值)

详细介绍如下:

相关文章:

萌新学 Python 之运算符

Python 中运算符包括&#xff1a;算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符、海象运算符 算术运算符&#xff1a;加 减 - 乘 * 除 / 取整 // 求余 % 求幂 ** 注意&#xff1a;取整时&#xff0c;一正一负整除&#xff0c;向下取整 比如 5 // …...

嵌入式知识点总结 Linux驱动 (五)-linux内核

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.内核镜像格式有几种&#xff1f;分别有什么区别&#xff1f; 2.内核中申请内存有哪几个函数&#xff1f;有什么区别&#xff1f; 3.什么是内核空间&#xff0c;用户空间&…...

zabbix7 配置字体 解决中文乱码问题(随手记)

目录 问题网传的方法&#xff08;无效&#xff09;正确的修改方式步骤 问题 zabbix 最新数据 中&#xff0c;图标的中文显示不出。 网传的方法&#xff08;无效&#xff09; 网传有一个方法&#xff1a;上传字体文件到/usr/share/zabbix/assets/fonts&#xff1b;修改/usr/…...

预测不规则离散运动的下一个结构

有一个点在19*19的平面上运动&#xff0c;运动轨迹为 一共移动了90步&#xff0c;顺序为 y x y x y x 0 17 16 30 10 8 60 15 15 1 3 6 31 10 7 61 14 15 2 12 17 32 9 9 62 16 15 3 4 12 33 10 9 63 18 15 4 3 18 34 15 12 6…...

CTFSHOW-WEB入门-命令执行29-32

题目&#xff1a;web 29 题目&#xff1a;解题思路&#xff1a;分析代码&#xff1a; error_reporting(0); if(isset($_GET[c])){//get一个c的参数$c $_GET[c];//赋值给Cif(!preg_match("/flag/i", $c)){eval($c);//if C变量里面没有flag&#xff0c;那么就执行C…...

SQL Server 建立每日自动log备份的维护计划

SQLServer数据库可以使用维护计划完成数据库的自动备份&#xff0c;下面以在SQL Server 2012为例说明具体配置方法。 1.启动SQL Server Management Studio&#xff0c;在【对象资源管理器】窗格中选择数据库实例&#xff0c;然后依次选择【管理】→【维护计划】选项&#xff0…...

doris:HLL

HLL是用作模糊去重&#xff0c;在数据量大的情况性能优于 Count Distinct。HLL的导入需要结合hll_hash等函数来使用。更多文档参考HLL。 使用示例​ 第 1 步&#xff1a;准备数据​ 创建如下的 csv 文件&#xff1a;test_hll.csv 1001|koga 1002|nijg 1003|lojn 1004|lofn …...

双层Git管理项目,github托管显示正常

双层Git管理项目&#xff0c;github托管显示正常 背景 在写React项目时&#xff0c;使用Next.js,该项目默认由git托管。但是我有在项目代码外层记笔记的习惯&#xff0c;我就在外层使用了git托管。 目录如下 code 层内也有.git 文件&#xff0c;对其托管。 我没太在意&…...

准备知识——旋转机械的频率和振动基础

旋转频率&#xff0c;也称为转速或旋转速率&#xff08;符号ν&#xff0c;小写希腊字母nu&#xff0c;也作n&#xff09;&#xff0c;是物体绕轴旋转的频率。其国际单位制单位是秒的倒数(s −1 )&#xff1b;其他常见测量单位包括赫兹(Hz)、每秒周期数(cps) 和每分钟转数(rpm)…...

知识库管理驱动企业知识流动与工作协同创新模式

内容概要 知识库管理在现代企业中扮演着至关重要的角色&#xff0c;其价值不仅体现在知识的积累&#xff0c;还在于通过优质的信息流动促进协作与创新。有效的知识库能够将分散的信息整合为有序、易于访问的资源&#xff0c;为员工提供实时支持&#xff0c;进而提升整体工作效…...

CMake常用命令指南(CMakeList.txt)

CMakeList从入门到精通的文章有很多不再赘述&#xff08; 此处附带一篇优秀的博文链接&#xff1a;一个简单例子&#xff0c;完全入门CMake语法与CMakeList编写 &#xff09;。 本文主要列举 CMake 中常用命令的详细说明、优缺点分析以及推荐做法&#xff0c;以更好地理解和灵…...

【回溯+剪枝】找出所有子集的异或总和再求和 全排列Ⅱ

文章目录 1863. 找出所有子集的异或总和再求和解题思路&#xff1a;子集问题解法&#xff08;回溯 剪枝&#xff09;47. 全排列 II解题思路&#xff1a;排序 回溯 剪枝 1863. 找出所有子集的异或总和再求和 1863. 找出所有子集的异或总和再求和 一个数组的 异或总和 定义为…...

中国技术突破对国际格局的多维影响与回应

链接地址&#xff1a; https://download.csdn.net/download/wanggang130532/90323798https://download.csdn.net/download/wanggang130532/90323798...

【漫话机器学习系列】068.网格搜索(GridSearch)

网格搜索&#xff08;Grid Search&#xff09; 网格搜索&#xff08;Grid Search&#xff09;是一种用于优化机器学习模型超参数的技术。它通过系统地遍历给定的参数组合&#xff0c;找出使模型性能达到最优的参数配置。 网格搜索的核心思想 定义参数网格 创建一个包含超参数值…...

元宇宙下的Facebook:虚拟现实与社交的结合

随着科技的不断进步&#xff0c;虚拟现实&#xff08;VR&#xff09;技术逐渐从科幻走入现实&#xff0c;成为人们探索未来社交方式的重要工具。在这一浪潮中&#xff0c;Facebook&#xff08;现为Meta&#xff09;作为全球领先的社交平台&#xff0c;正在积极布局虚拟现实和元…...

记忆力训练day08

写作头脑风暴训练 1 集体的头脑风暴&#xff1a; 2 一个人的头脑风暴 没事&#xff0c;你说老师我还没有摸到门道&#xff0c;你去做&#xff0c;做的时候你就会知道什么叫做头脑风暴。记住&#xff0c;不要用脑子就在感觉里面&#xff0c;你究竟想给人呈现一种什么样的文章&am…...

崇州市街子古镇正月初一繁华剪影

今天是蛇年正月初一&#xff0c;下午笔者步出家门&#xff0c;逛到了崇州市街子古镇井水街&#xff0c;想看看景象如何。结果看到的是车水马龙、人流如织&#xff0c;繁花似锦&#xff0c;热闹非凡&#xff0c;原来今天开始预订此地摆下的长街宴。心里高兴&#xff0c;便用手机…...

websocket webworker教程及应用

WebSocket 和 Web Workers 是两种不同的 Web 技术&#xff0c;分别用于实现实时通信和后台线程处理。以下是它们的简要教程&#xff1a; WebSocket 教程 1. 什么是 WebSocket&#xff1f; WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许服务器主动向客户端推…...

【后端】Flask

长期更新&#xff0c;建议关注收藏点赞&#xff01; 实例1 Jinja2 是 Flask 和 Django 使用的 模板引擎&#xff0c;它允许你在 HTML 中嵌入 Python 代码&#xff0c;以动态生成页面内容。Jinja2 语法类似于 Django 模板&#xff0c;并支持变量、条件判断、循环、过滤器等。 fr…...

【cran Archive R包的安装方式】

cran Archive R包的安装方式 添加链接描述 1.包被cran移除 2.包要求的R语言版本与你电脑上的版本不相符 ad archive包的网址或者是下载到工作目录下&#xff0c;ad等于文件名 install,packages(ad repos NULL)...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...