当前位置: 首页 > 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)...

如何用matlab画一条蛇

文章目录 源代码运行结果代码说明结果 源代码 % 画蛇的代码 % 2025-01-28/Ver1 % 清空环境 clc; clear; close all;% 定义蛇的身体坐标 t linspace(0, 4*pi, 100); % 参数化变量 x t; % x坐标 y sin(t) 0.5 * sin(3*t); % y坐标&#xff0c;形成更复…...

Greenplum临时表未清除导致库龄过高处理

1.问题 Greenplum集群segment后台日志报错 2.回收库龄 master上执行 vacuumdb -F -d cxy vacuumdb -F -d template1 vacuumdb -F -d rptdb 3.回收完成后检查 仍然发现segment还是有库龄报警警告信息发出 4.检查 4.1 在master上检查库年龄 SELECT datname, datfrozen…...

【Linux】gdb——Linux调试器

gdb使用背景 程序的发布方式有两种&#xff0c;debug模式和release模式 Linux gcc/g出来的二进制程序&#xff0c;默认是release模式 要使用gdb调试&#xff0c;必须在源代码生成二进制程序的时候, 加上 -g 选项 gdb使用方法 首先进入gdb gdb test_glist显示代码 断点 b 行…...

C++ 中用于控制输出格式的操纵符——setw 、setfill、setprecision、fixed

目录 四种操纵符简要介绍 setprecision基本用法 setfill的基本用法 fixed的基本用法 setw基本用法 以下是一些常见的用法和示例&#xff1a; 1. 设置字段宽度和填充字符 2. 设置字段宽度和对齐方式 3. 设置字段宽度和精度 4. 设置字段宽度和填充字符&#xff0c;结合…...

C++ ——— 学习并使用 priority_queue 类

目录 何为 priority_queue 类 学习并使用 priority_queue 类 实例化一个 priority_queue 类对象 插入数据 遍历堆&#xff08;默认是大堆&#xff09; 通过改变实例化的模板参数修改为小堆 何为 priority_queue 类 priority_queue 类为 优先级队列&#xff0c;其本质就是…...

基础项目实战——3D赛车(c++)

目录 前言一、渲染引擎二、关闭事件三、梯形绘制四、轨道绘制五、边缘绘制六、草坪绘制七、前后移动八、左右移动​九、曲线轨道​十、课山坡轨道​十一、循环轨道​十二、背景展示​十三、引入速度​十四、物品绘制​十五、课数字路障​十六、分数展示​十七、重新生成​十八、…...

ODP(OBProxy)路由初探

OBProxy路由策略 Primary Zone 路由 官方声明默认情况&#xff0c;会将租户请求发送到租户的 primary zone 所在的机器上&#xff0c;通过 Primary Zone 路由可以尽量发往主副本&#xff0c;方便快速寻找 Leader 副本。另外&#xff0c;设置primary zone 也会在一定成都上减少…...

从零推导线性回归:最小二乘法与梯度下降的数学原理

​ 欢迎来到我的主页&#xff1a;【Echo-Nie】 本篇文章收录于专栏【机器学习】 本文所有内容相关代码都可在以下仓库中找到&#xff1a; Github-MachineLearning 1 线性回归 1.1 什么是线性回归 线性回归是一种用来预测和分析数据之间关系的工具。它的核心思想是找到一条直…...

计算机网络__基础知识问答

Question: 1&#xff09;在计算机网络的5层结构中&#xff0c;每一层的功能大概是什么&#xff1f; 2&#xff09;交换机的功能&#xff1f;https://www.bilibili.com/video/BV1na4y1L7Ev 3&#xff09;路由器的功能&#xff1f;https://www.bilibili.com/video/BV1hv411k7n…...

第 5 章:声音与音乐系统

5.1 声音效果的应用 在游戏中&#xff0c;声音效果是增强游戏沉浸感和趣味性的重要元素。Pygame 提供了强大的音频处理功能&#xff0c;使得添加各种声音效果变得相对简单。声音效果可以包括角色的动作音效&#xff0c;如跳跃、攻击、受伤时的声音&#xff1b;环境音效&#x…...