[Python][运算符]详细讲解

目录

  • 1.算数运算符
  • 2.关系运算符
  • 3.逻辑运算符
  • 4.赋值运算符
    • 1.`=`的使用
    • 2.复合赋值运算符
  • 5.其他


1.算数运算符

  • 算术运算符:像+ - * / % ** //这种进行算术运算的运算符
    • 先算乘方,然后是乘除,最后算甲酸
    • 如果运算过程中想修改默认的运算顺序,就需要加上()
  • 注意
    • / 中不能用0作为除数,否则会抛出异常
    • 整数 / 整数 结果可能是小数,而不会发生截断
    • %不是"百分数",而是求余数
    • **求乘方不光能算整数次方, 还能算小数次方
      • 即:**也可以用来开根号
    • //取整除法(也叫地板除)
      • 整数除以整数,结果还是整数(舍弃小数部分,并向下取整,不是四舍五入)

2.关系运算符

  • 关系运算符:像< <= > >= == !=这一系列的运算符,用于比较操作数之间的关系
    • 如果关系符合,则表达式返回True,如果关系不符合,则表达式返回False
  • 关系运算符不光可以针对整数/浮点数进行比较,还能针对字符串进行比较
    • 直接使用==或者!=即可对字符串内容判定相等
    • 字符串比较大小,规则是**“字典序”**
      a = 'Die'
      b = 'SnowK'
      print(a < b)
      print(a > b)
      
  • 对于浮点数来说,不要使用==判定相等,在计算过程中,容易出现非常小的误差
    • 浮点数在计算机中的表示并不是精确的,这个是 IEEE754 标准规定的浮点数格式所引入的问题
    • 正确的比较方式:不再严格比较相等了,而是判定差值小于允许的误差范围
      a = 0.1 + 0.2
      b = 0.3
      print(-0.000001 < (a - b) < 0.000001)
      

3.逻辑运算符

  • 逻辑运算符:像and, or, not这一系列的运算符
    • and并且
    • or或者
    • not逻辑取反
      a = 10
      b = 20
      c = 30print(a < b and b > c)
      print(a < b or b > c)
      print(not a > b)
      
  • 一种特殊写法a < b and b < c等价于a < b < c,这个设定和大部分编程语言都不相同
    • :Python支持更人性化的,像数学一样的连续小于/大于判断
  • 短路求值:和其他编程语言类似,Python也存在短路求值的规则

4.赋值运算符

1.=的使用

  • =表赋值,注意与==区分
  • =除了基本的用法之外,还可以同时针对多个变量进行赋值
  • 链式赋值
    a = b = 10
    
  • 多元赋值
    a, b = 10, 20
    
  • 例子:交换两个变量
    • 基础写法
      a = 10
      b = 20tmp = a
      a = b
      b = tmp
      
    • 基于多元赋值
      a = 10
      b = 20
      a, b = b, a
      

2.复合赋值运算符

  • 复合赋值运算符+= -= *= /= %=
  • 注意
    • 像C/C++中,存在++ —这样的自增/自减运算符,Python中则不支持这种运算
    • 如果需要使用,则直接使用+= 1或者-= 1

5.其他

  • 除了上述之外,Python中还有其他的运算符,例如:身份运算符(is, is not),成员运算符(in, not in),位运算符(&, | , ~, ^, <<, >>)等,基本和C/C++用法一致,只是换了个模样,暂且就先不做介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公司邮箱一般是什么邮箱

公司邮箱一般是什么邮箱呢&#xff1f;公司邮箱是企业官方通信工具&#xff0c;体现专业形象&#xff0c;提高协作效率。选择时需考虑安全性、功能集成、性价比和技术支持。Zoho邮箱因简洁界面、丰富协作工具和出色安全性能受好评&#xff0c;提供多种套餐选择。 一、公司邮箱…

【Go - sync.once】

sync.Once 是 Go 语言标准库中的一个结构体&#xff0c;它的作用是确保某个操作在全局范围内只被执行一次。这对于实现单例模式或需要一次性初始化资源的场景非常有用。 典型用法 sync.Once 提供了一个方法 Do(f func())&#xff0c;该方法接收一个没有参数和返回值的函数 f …

vue3中父子组件的双向绑定defineModel详细使用方法

文章目录 一、defineProps() 和 defineEmits()二、defineModel() 的双向绑定2.1、基础示例2.2、定义类型2.3、声明prop名称2.4、其他声明2.5、绑定多个值2.6、修饰符和转换器2.7、修饰符串联 一、defineProps() 和 defineEmits() 组件之间通讯&#xff0c;通过 props 和 emits…

编写SpringBoot的自定义starter包

starter项目 先来看一下Starter的官方解释&#xff1a; Spring Boot Starter 是一种方便的依赖管理方式&#xff0c;它封装了特定功能或技术栈的所有必要依赖项和配置&#xff0c;使得开发者可以快速地将这些功能集成到Spring Boot项目中。Spring Boot官方提供了一系列的Star…

接入百度文心一言API教程

然后&#xff0c;编辑文章。点击AI识别摘要&#xff0c;然后保存即可 COREAIPOWER设置 暂时只支持经典编辑器.古腾堡编辑器等几个版本后支持.在比期间,你可以自己写点摘要 摘要内容 AL识别摘要 清空 若有收获&#xff0c;就点个赞吧 接入文心一言 现在百度文心一言&…

vsftpd搭建FTP服务器 - 虚拟用户

命令记录 $ sudo apt install vsftpd db-util $ sudo nano /etc/vsftpd.conf $ sudo nano /etc/vsftpd/vsftpd-virtual-users.txt $ sudo db_load -T -t hash -f /etc/vsftpd/vsftpd-virtual-users.txt /etc/vsftpd/vsftpd-virtual-users.db ls /etc/vsftpd/vsftpd-virtual-us…

目标检测YOLO实战应用案例100讲-【目标检测】结构光

目录 前言 知识储备 前置摄像头3D结构光、TOF,双目立体视觉 3D传感系统的种类 TOF应用前景广阔 TOF供应链梳理 算法原理 1 红外发射器 2 不可见光红外线(IR)接收模组 3 可见光摄像头 4 图像处理芯片 结构光分类 1. 线扫描结构光 2. 面阵结构光 应用案例 2D线扫…

IDEA的pom.xml显示ignored 的解决办法

问题&#xff1a; idea中创建Maven module时&#xff0c;pom.xml出现ignored。 原因&#xff1a; 相同名称的module在之前被创建删除过&#xff0c;IDEA会误以为新的同名文件是之前删除掉的&#xff0c;将这个新的module的pom.xml文件忽略掉显示ignored. 解决&#xff1a; 在…

看 Unity 组件的源码 —— ILSpy

ILSpy 是开源的 .NET 程序集浏览器和解编译器。 下载 ILSpy ILSpy Github 地址&#xff1a;icsharpcode/ILSpy: .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform! (github.com) 它有 Release 包可以下载 也提供 IDE 的…

LVGL事件整理

1.2 Event Codes Input device event LV_EVENT_PRESSED&#xff1a; 对象已被按下 LV_EVENT_PRESSING&#xff1a; 对象正在被按下&#xff08;在持续按下时调用&#xff09; LV_EVENT_PRESS_LOST&#xff1a; 对象仍然被按下&#xff0c;但光标/手指滑出对象 LV_EVENT_SHO…

STM32工业物联网系统教程

目录 引言环境准备工业物联网系统基础代码实现&#xff1a;实现工业物联网系统 4.1 数据采集模块 4.2 数据处理与分析模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;工业监测与优化问题解决方案与优化收尾与总结 1. 引言 工业物联网&#xff08…

使用脚本搭建MySQL数据库基础环境

数据库的基本概念 数据&#xff08;Data&#xff09; 描述事物的符号记录 包括数字&#xff0c;文字&#xff0c;图形。图像&#xff0c;声音&#xff0c;档案记录等。 以记录形式按统一格式进行存储 表 将不同的记录组织在一起 用来储存具体数据 数据库 表的集合&#xff0c;是…

K210视觉识别模块学习笔记7:多线程多模型编程识别

今日开始学习K210视觉识别模块: 图形化操作函数 亚博智能 K210视觉识别模块...... 固件库: canmv_yahboom_v2.1.1.bin 训练网站: 嘉楠开发者社区 今日学习使用多线程、多模型来识别各种物体 这里先提前说一下本文这次测试实验的结果吧&#xff1a;结果是不太成…

Python实现websocket连接服务器报rejected WebSocket connection: HTTP 401

1. websockets报HTTP 401解决办法 代码如下&#xff1a; #!/usr/bin/env python import asyncio import websockets import requestsuri ws://192.168.20.167/websocket msg {"type":6,"param":{"businessType":3,"cmd":1,"f…

线性代数|机器学习-P25线性规划和两人零和博弈

文章目录 0. 概述1. 线性规划问题1.1 定义1.2 举例 2. 线性规划中的对偶问题3. 最大流 - 最小割问题4. 两人零和博弈 MIT教授教学视频&#xff0c;讲得比较泛&#xff0c;需要另外学习很多知识补充 0. 概述 线性规划[LP]问题 线性规划是问题为线性求最值&#xff0c;约束也是求…

自动驾驶-机器人-slam-定位面经和面试知识系列01之常考公式推导(01)

李群李代数扰动bundle adjustment 这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新&#xff0c;基本涵盖了自己秋招历程被问过的面试内容&#xff08;除了实习和学校项目相关的具体细节&#xff09;。在知乎和牛客也会同步更新&#xff0c;全网…

【SpringBoot】参数传递

1.定义URL变量 RequestMapping("/user/{username}") ResponseBody public String userProfile(PathVariable String username){ return "user:"username; } 2.定义多个URL变量 RequestMapping("/user/{username}/blog/{blogId}") Response…

《计算机网络》(学习笔记)

目录 一、计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络的概念 1.1.2 计算机网络的组成 1.1.3 计算机网络的功能 1.1.4 电流交换、报文交换和分组交换 1.1.5 计算机网络的分类 1.1.6 计算机网络的性能指标 1.2 计算机网络体系结构与参考模型 1.2.1 计算机…

STM32F0-寄存器ADC配置指南

目录 输入方式&#xff1a; 模拟看门狗功能&#xff1a; ADC中断 配置一个Demo 设置时钟 自校准 通道选择 采样时间选择 转换模式选择 断续模式 启动转换 软件触发 外部触发 转换结束 关于DMA 模拟看门狗 ​编辑ADC数据位置​编辑 在STM32F中&#xff0c;ADC可…

AV1技术学习:Loop Restoration Filter

环路恢复滤波器&#xff08;restoration filter&#xff09;适用于64 64、128 128 或 256 256 像素块单元&#xff0c;称为 loop restoration units (LRUs)。每个单元可以独立选择是否跳过滤波、使用维纳滤波器&#xff08;Wiener filter&#xff09;或使用自导滤波器&#…