【Python】各种运行符及其运用实例

news2024/11/13 11:13:47

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️Python】


文章目录

  • 前言
  • 什么是运算符?
  • 算术运算符
    • 实例
  • 比较运算符
    • 实例
  • 赋值运算符
    • 实例
  • 逻辑运算符
    • 实例
  • 位运算符
    • 实例
  • 成员运算符
    • 实例
  • 身份运算符
    • 实例
  • 运算符优先级
    • 实例


前言

关于九种数据类型,在之前的文章中我们已经全部介绍,接下来,我们就将跳出基础知识的教学,进入到Python程序编写的学习,在这个阶段,我们可以自己动手,尝试去编写一些简单的Python程序。今天我们来学习有关运算符的相关知识。想了解更多Python内容请订阅内容【Python系列教程】

在这里插入图片描述


什么是运算符?

Python中的运算符用于执行数学或逻辑运算。这些运算符可以根据它们的功能和操作数的数量进行分类。

算术运算符:用于执行基本的算术运算,例如加法、减法、乘法、除法等。常见的算术运算符包括 +、-、*、/、%(取余数)、**(幂运算)
比较运算符:用于比较两个值。常见的比较运算符包括 ==、!=、>、<、>=、<=
赋值运算符:用于将值赋给变量。常见的赋值运算符包括 =、+=、-=``、*=``、/=
逻辑运算符:用于组合多个条件。常见的逻辑运算符包括 and(与)、or(或)、not(非)
位运算符:用于对二进制数进行操作。常见的位运算符包括 &(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)
成员运算符:用于检查一个值是否存在于序列中。常见的成员运算符包括 in(存在)和 not in(不存在)
身份运算符:用于比较两个对象的内存地址。常见的身份运算符包括 is(同一对象)和 is not(不同对象)
运算符优先级:当一个表达式中含有多个运算符时,运算符优先级规定了它们的计算顺序。可以使用括号来改变运算符的优先级。

在这里插入图片描述

接下来我将一一为大家介绍它,并分享实例。

算术运算符

Python中的算术运算符用于执行基本的数学运算,如加、减、乘、除等。这些运算符对于处理数字和变量中的数值非常关键

加法 (+): 用于将两个数相加。
减法 (-): 用于从一个数中减去另一个数。
乘法 (*): 用于将两个数相乘。
除法 (/): 用于将第一个数除以第二个数并返回商(浮点数)。
整除 (//): 用于将两个数相除并返回商的整数部分(向下取整)。
取模 (%): 用于返回两个数相除的余数。
幂 (**): 用于返回第一个数的第二个数次幂的结果。

在这里插入图片描述

实例

a = 21
b = 10
c = 0
c = a + b
print("1 - c 的值为:", c)
c = a - b
print("2 - c 的值为:", c)
c = a * b
print("3 - c 的值为:", c)
c = a / b
print("4 - c 的值为:", c)
c = a % b
print("5 - c 的值为:", c)
# 修改变量 a 、b 、c
a = 2
b = 3
c = a** b
print("6 - c 的值为:", c)
a = 10
b = 5
c = a // b
print("7 - c 的值为:", c)

在这里插入图片描述


比较运算符

比较运算符用于比较两个值的大小或相等性。

等于 (==): 检查两个值是否相等。
不等于 (!=): 检查两个值是否不相等。
大于 (>): 检查左边的值是否大于右边的值。
小于 (<): 检查左边的值是否小于右边的值。
大于等于 (>=): 检查左边的值是否大于或等于右边的值。
小于等于 (<=): 检查左边的值是否小于或等于右边的值。

在这里插入图片描述

实例

a = 21
b = 10
c = 0
if a == b:
    print("1 - a 等于 b")
else:
    print("1 - a 不等于 b")
if a != b:
    print("2 - a 不等于 b")
else:
    print("2 - a 等于 b")
if a > b:
    print("3 - a 不等于 b")
else:
    print("3 - a 等于 b")
if a < b:
    print("4 - a 小于 b")
else:
    print("4 - a 大于等于 b")
if a > b:
    print("5 - a 大于 b")
else:
    print("5 - a 小于等于 b")
# 修改变量 a 和 b 的值
a = 5
b = 20
if a <= b:
    print("6 - a 小于等于 b")
else:
    print("6 - a 大于  b")
if b >= a:
    print("7 - b 大于等于 a")
else:
    print("7 - b 小于 a")

在这里插入图片描述

赋值运算符

Python中的赋值运算符主要用于将值或表达式的结果赋给变量。最基本的赋值运算符是单个等号=。然而,Python还提供了一些复合赋值运算符,它们结合了算术运算符、位运算符或逻辑运算符与赋值操作,从而允许在一行代码中执行多个操作。

简单赋值 (=): 用于将右侧的值赋给左侧的变量。
复合赋值 (+=, -=, *=, /=, %=, //=, **=): 用于对变量进行算术运算并重新赋值。

在这里插入图片描述
注:海象运算符:=是Python 3.8中引入的一个新特性,因此在较旧的Python版本中不可用

实例

a = 21
b = 10
c = 0
c = a + b
print("1 - c 的值为:", c)
c += a
print("2 - c 的值为:", c)
c *= a
print("3 - c 的值为:", c)
c /= a
print("4 - c 的值为:", c)
c = 2
c %= a
print("5 - c 的值为:", c)
c **= a
print("6 - c 的值为:", c)
c //= a
print("7 - c 的值为:", c)

在这里插入图片描述

逻辑运算符

Python中的逻辑运算符是用来在条件语句中进行逻辑操作的特殊符号,它们允许根据一个或多个条件的真假值来执行相应的操作。

与 (and): 如果两个条件都为True,则返回True。
或 (or): 如果两个条件中至少有一个为True,则返回True。
非 (not): 对条件取反。

在这里插入图片描述
注:当使用and运算符时,如果第一个表达式为False,则Python不会评估第二个表达式,因为无论第二个表达式的值是什么,整个表达式的结果都将是False。这被称为“短路”行为。
类似地,当使用or运算符时,如果第一个表达式为True,则Python不会评估第二个表达式,因为整个表达式的结果已经确定为True。

实例

a = 10
b = 20
if a and b:
    print("1 - 变量 a 和 b 都为 True")
else:
    print("1 - 变量 a 和 b 有一个不为 True")
if a or b:
    print("2 - 变量 a 和 b 都为 True,或其中一个变量为 True")
else:
    print( "2 - 变量 a 和 b 都不为 True")
# 修改变量 a 的值
a = 0
if a and b:
    print("3 - 变量 a 和 b 都为 True")
else:
    print("3 - 变量 a 和 b 有一个不为 True")
if a or b:
    print("4 - 变量 a 和 b 都为 True,或其中一个变量为 True")
else:
    print("4 - 变量 a 和 b 都不为 True")
if not (a and b):
    print("5 - 变量 a 和 b 都为 False,或其中一个变量为 False")
else:
    print("5 - 变量 a 和 b 都为 True")

在这里插入图片描述

位运算符

Python中的位运算符主要用于对整数的二进制表示进行操作。这些运算符直接作用于整数的二进制位,允许进行如位与、位或、位异或、位取反、左移和右移等操作。

按位与 (&): 对两个数的二进制表示进行按位与操作。
按位或 (|): 对两个数的二进制表示进行按位或操作。
按位异或 (^): 对两个数的二进制表示进行按位异或操作。
按位取反 (~): 对数的二进制表示进行按位取反操作。
左移 (<<): 将数的二进制表示向左移动指定的位数。
右移 (>>): 将数的二进制表示向右移动指定的位数。

在这里插入图片描述
注:位运算符主要针对整数类型的数据进行操作,如果将字符串等其他类型的数据进行二进制转换会报错。
在进行位运算时,Python会自动将操作数转换为整数(如果它们不是整数的话)。
位运算符在底层编程、性能优化、加密解密等领域有广泛应用。

实例

a = 60  # 60 = 0011 1100 
b = 13  # 13 = 0000 1101 
c = 0
c = a & b;  # 12 = 0000 1100
print("1 - c 的值为:", c)
c = a | b;  # 61 = 0011 1101 
print("2 - c 的值为:", c)
c = a ^ b;  # 49 = 0011 0001
print("3 - c 的值为:", c)
c = ~a;  # -61 = 1100 0011
print("4 - c 的值为:", c)
c = a << 2;  # 240 = 1111 0000
print("5 - c 的值为:", c)
c = a >> 2;  # 15 = 0000 1111
print("6 - c 的值为:", c)

在这里插入图片描述

成员运算符

Python中的成员运算符主要用于检查某个元素是否属于某个序列(如列表、元组、字符串等)或集合。这些运算符在编程中非常有用,因为它们允许我们进行快速的条件判断。

in: 检查某个值是否是序列(如列表、元组或字符串)的成员。
not in: 检查某个值是否不是序列的成员。

在这里插入图片描述
注:当使用成员运算符时,需要确保序列或集合是可迭代的,因为成员运算符会遍历序列或集合中的元素来查找指定的值。
成员运算符对于字符串也同样适用,可以检查某个子字符串是否存在于另一个字符串中。
在使用成员运算符时,需要注意区分大小写,因为Python是区分大小写的语言。

实例

a = 10
b = 20
list = [1, 2, 3, 4, 5];
if (a in list):
    print("1 - 变量 a 在给定的列表中 list 中")
else:
    print("1 - 变量 a 不在给定的列表中 list 中")
if (b not in list):
    print("2 - 变量 b 不在给定的列表中 list 中")
else:
    print("2 - 变量 b 在给定的列表中 list 中")
# 修改变量 a 的值
a = 2
if (a in list):
    print("3 - 变量 a 在给定的列表中 list 中")
else:
    print("3 - 变量 a 不在给定的列表中 list 中")

在这里插入图片描述

身份运算符

Python中的身份运算符是用于比较两个对象是否具有相同的内存地址的运算符。它们主要用于判断两个变量是否指向同一个对象,而不是比较它们的值是否相等。Python中的身份运算符主要有两个:is和is not

is: 检查两个对象是否指向同一个内存地址(即它们是否是同一个对象)。
is not: 检查两个对象是否不指向同一个内存地址。

在这里插入图片描述

注:身份运算符比较的是对象的内存地址,而不是它们的值。即使两个对象具有相同的值,它们也可能有不同的内存地址。
对于不可变类型(如整数、浮点数、字符串、元组等),Python可能会实现对象缓存(也称为“驻留”或“interning”),这意味着具有相同值的不可变对象可能会共享相同的内存地址。然而,这并不意味着所有具有相同值的不可变对象都必然有相同的内存地址,这取决于Python的实现和内存管理策略。
对于可变类型(如列表、字典、集合等),即使两个对象包含相同的元素,它们也一定有不同的内存地址,因为可变类型的对象可以就地修改。
\

实例

a = 20
b = 20
if (a is b):
    print("1 - a 和 b 有相同的标识")
else:
    print("1 - a 和 b 没有相同的标识")
if (a is not b):
    print("2 - a 和 b 没有相同的标识")
else:
    print( "2 - a 和 b 有相同的标识")
# 修改变量 b 的值
b = 30
if (a is b):
    print("3 - a 和 b 有相同的标识")
else:
    print("3 - a 和 b 没有相同的标识")

if (a is not b):
    print("4 - a 和 b 没有相同的标识")
else:
    print("4 - a 和 b 有相同的标识")

在这里插入图片描述

运算符优先级

Python中的运算符有优先级,例如,乘法 (*) 和除法 (/) 的优先级高于加法 (+) 和减法 (-)。可以使用括号 () 来改变运算的优先级。
在这里插入图片描述

实例

a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d  # ( 30 * 15 ) / 5
print("(a + b) * c / d 运算结果为:", e)
e = ((a + b) * c) / d  # (30 * 15 ) / 5
print("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d);  # (30) * (15/5)
print("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d;  # 20 + (150/5)
print("a + (b * c) / d 运算结果为:", e)

在这里插入图片描述
参考菜鸟编程 Python运算符
在这里插入图片描述

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

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

相关文章

【手撕数据结构】卸甲时/空间复杂度

目录 前言时间复杂度概念⼤O的渐进表⽰法小试牛刀 空间复杂度 前言 要想知道什么是空/时间复杂度,就得知道什么是数据结构。 这得分两层来理解。我们生活中处处存在数据&#xff0c;什么抖音热点上的国际大事&#xff0c;什么懂的都懂的雍正卸甲等等一系列我们用户看得到的&a…

抖音矩阵系统源代码开发部署,系统独立搭建,抖音搜索引擎优化(SEO)

抖音搜索引擎优化&#xff08;SEO&#xff09;技术框架概览。抖音SEO矩阵系统旨在提升视频的在线可见度和搜索排名。 一、系统概观 抖音SEO系统旨在增强视频内容的在线可见性及搜索排名&#xff0c;通过深入分析用户行为与需求&#xff0c;为内容创作者提供强大的支持。 二、…

51-3 内网信息收集 - 获取RDP密码信息(没有实验成功)

获取常见应用软件凭据 注意: %USERPROFILE% 是环境变量。在使用系统权限时,可以将 %USERPROFILE% 替换为绝对路径,或使用其他用户的令牌进行操作。 获取 RDP 保存的凭据(远程桌面) 为了避免每次连接服务器都进行身份验证,经常使用 RDP 远程桌面连接远程服务器的用户可能…

【js面试题】js的数据结构

面试题&#xff1a;说说你了解的js数据结构 JavaScript中的数据结构是编程的基础&#xff0c;它们帮助我们以高效的方式存储和操作数据。 下面将详细介绍 这些数据结构的来源、概念和应用场景。 数组 Array 来源&#xff1a; 数组是一种线性数据结构&#xff0c;起源于计算…

你可以终止 forEach 吗?

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 理解 forEach JavaScript 的forEach方法是一种流行的数组迭代工具。它为每个数组元素执行一次提供的函数。但是&#xff0c;与传统的for 和 while循环不同&#xff0c;forEa…

深度学习-梯度下降算法-NLP(五)

梯度下降算法 深度学习中梯度下降算法简介找极小值问题数学上求最小值梯度梯度下降算法 找极小值问题在深度学习流程中深度学习整体流程图求解损失函数的目标权重的更新 深度学习中梯度下降算法简介 找极小值问题 引子&#xff1a; 我们训练一个人工智能模型&#xff0c;简单…

珍藏多年的计算机内核结构大全笔记,掌握计算机工作原理真不难

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

C++·栈和队列

栈和队列是什么看这里&#xff1a; 数据结构栈和队列-CSDN博客文章浏览阅读948次&#xff0c;点赞25次&#xff0c;收藏26次。本节讲解了栈和队列的内容&#xff0c;其核心就是栈的特点是后进先出&#xff0c;队列的特点是先进先出。并用C语言实现了栈和队列的结构以及它们的各…

ABAP注释快捷键修改(留着备用)

ABAP注释快捷键修改(留着备用) 在使用ABAP编辑器的时候&#xff0c;原有的添加代码注释和取消代码注释的快捷键未生效&#xff0c;这时我们可以考虑对注释快捷键进行修改 在事务码SE38(ABAP编辑器)屏幕右下角&#xff0c;点击【Options选项】图标 在【键盘】|【命令】输入栏中…

实战Qt开发WordBN笔记软件#01 搭建开发环境:VS2019+Qt6.5+CMake+Git

01 背景 【WordBN字远笔记】是天恩软件工作室开发的一款免费笔记软件&#xff1b;WordBN基于VS2019、Qt6.5开发&#xff0c;使用Qt Quick&#xff08;QML&#xff09;开发语言。 本课程将以【WordBN字远笔记】的界面为实战基础&#xff0c;详细介绍如何基于Qt/QML开发语言&am…

YOLOV8花朵实例分割实战

原文:YOLOV8花朵实例分割实战 - 知乎 (zhihu.com) 一、代码: https://github.com/ultralytics/ultralytics​github.com/ultralytics/ultralytics 与先前几个版本相比,YOLOv8 模型更快、更准确,同时为训练模型提供统一框架,以执行以下基本任务: 目标检测;实例分割;图…

pygame 音乐粒子特效

代码 import pygame import numpy as np import pymunk from pymunk import Vec2d import random import librosa import pydub# 初始化pygame pygame.init()# 创建屏幕 screen pygame.display.set_mode((1920*2-10, 1080*2-10)) clock pygame.time.Clock()# 加载音乐文件 a…

【微服务网关——https与http2代理实现】

1.https与http2代理 1.1 重新认识https与http2 https是http安全版本http2是一种传输协议两者并没有本质联系 1.1.1 https与http的区别 HTTP&#xff08;超文本传输协议&#xff09;和 HTTPS&#xff08;安全超文本传输协议&#xff09;是用于在网络上交换数据的两种协议。H…

基于DPU的云原生计算资源共池管理解决方案

1. 方案背景和挑战 在传统的云环境中&#xff0c;通常存在着不同的技术栈&#xff0c;支撑多样化的计算服务&#xff0c;具体如下&#xff1a; ① OpenStack环境与虚拟化云主机及裸金属服务 OpenStack是一个开源的云计算管理平台项目&#xff0c;它提供了部署和管理大规模计…

JAVA 代码块介绍

一、基本介绍 代码化块又称为初始化块&#xff0c;属于类中的成员[即 是类的一部分]&#xff0c;类似于方法&#xff0c;将逻辑语句封装在方法体中&#xff0c;通过包围起来。 但和方法不同&#xff0c;没有方法名&#xff0c;没有返回&#xff0c;没有参数&#xff0c;只有方…

人工智能的新时代:从模型到应用的转变

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

NLP 面试八股:“Transformers / LLM 的词表应该选多大?“ 学姐这么告诉我答案

NLP 面试八股&#xff1a;“Transformers / LLM 的词表应该选多大?" 学姐这么告诉我答案 原创 看图学 看图学 2024年07月03日 07:55 北京 题目&#xff1a; Transformers/大模型的 token vocabulary 应该选多大&#xff1f; 答案 先说一下结论&#xff1a; 数据量够大…

南航秋招指南,线上测评和线下考试

南航秋招简介 南航作为国内一流的航空公司&#xff0c;对人才的需求量非常旺盛&#xff0c;每年也有很多专业对口的工作提供给应届毕业生&#xff0c;对于应届毕业生而言&#xff0c;一定要抓住任何一个应聘机会&#xff0c;并且在规定的范围内进行简历的提交&#xff0c;以便…

为什么需要重写equals和如何重写equals

首先先看Java中的 &#xff0c;比较的两个对象的地址值。 如果是基本数据类型&#xff0c;那么就是比较的是值。 如果是引用数据类型&#xff0c;比较的就是地址. object类中的equals方法也是用的&#xff1b; 所以要比较两个对象的大小&#xff0c;去调用默认的equals方法…

鼠标宏怎么设置?6款鼠标自动点击器强推,游戏玩家专用!(2024全)

随着电子游戏和日常应用的不断发展&#xff0c;我们经常会遇到一些重复性的任务或操作。而在这种情况下&#xff0c;鼠标宏以其自动化的特点成为了许多玩家和使用者的利器之一。如果你正在寻找如何设置鼠标宏来简化操作并提高效率&#xff0c;那么你来对地方了。在本文中&#…