【Python入门与进阶】Python的运算符

Python中的运算符可以分为几类,每种运算符有特定的用法。
以下是一些主要的Python运算符及其用法:

1. 算术运算符

  • +:加法

    a = 5
    b = 3
    print(a + b)  # 输出 8
    
  • -:减法

    print(a - b)  # 输出 2
    
  • *:乘法

    print(a * b)  # 输出 15
    
  • /:除法(结果为浮点数)

    print(b / a)  # 输出 0.6
    
  • //:整数除法(结果为整数)

    print(a // b)  # 输出 1
    
  • %:取模(求余数)

    print(b % a)  # 输出 3
    
  • **:幂运算

    print(a ** b)  # 输出 125
    

2. 比较运算符

  • ==:等于
  • !=:不等于
  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于

这些运算符用于比较两个值,并根据比较结果返回布尔值(TrueFalse)。

print(a == b)  # 输出 False
print(b != a)  # 输出 True
print(a > b)   # 输出 True

3. 逻辑运算符

  • and:逻辑与,两个条件都为True时结果为True
  • or:逻辑或,两个条件中至少有一个为True时结果为True
  • not:逻辑非,取反布尔值。
print(True and False)  # 输出 False
print(True or False)   # 输出 True
print(not True)        # 输出 False

4. 赋值运算符

  • =:赋值
  • +=:加后赋值
  • -=:减后赋值
  • *=:乘后赋值
  • /=:除后赋值(结果为浮点数)
  • //=:整数除后赋值
  • %=:模后赋值
  • **=:幂后赋值

这些运算符可以用于简化代码,通过一次性操作完成变量的更新。

a = 10
a += 5  # 等同于 a = a + 5
print(a)  # 输出 15b = 20
b *= 2  # 等同于 b = b * 2
print(b)  # 输出 40

5. 位运算符

位运算符对整数的二进制位执行操作。以下是一些常用的位运算符:

  • &:按位与
  • |:按位或
  • ^:按位异或
  • <<:左移(将所有位向左移动指定的位数)
  • >>:右移(将所有位向右移动指定的位数)

这些运算符主要在处理二进制或位字段时使用。

c = 5  # 二进制表示为 101
d = 3  # 二进制表示为 011# 按位或
print(c | d)  # 输出 7 (111)# 按位与
print(c & d)  # 输出 1 (001)# 按位异或
print(c ^ d)  # 输出 6 (110)# 左移
print(c << 1)   # 输出 10 (1010)# 右移
print(d >> 1)   # 输出 1 (001)

6. 成员运算符

  • in:检查一个值是否存在于序列(如列表、元组、字符串)中。
  • not in:检查一个值不存在于序列中。
e = [1, 2, 3, 4, 5]
print(3 in e)    # 输出 True
print(6 not in e)  # 输出 True

7. 身份运算符

  • is:检查两个引用是否指向同一个对象。

  • `is not继续身份运算符的解释:

  • is not:检查两个引用是否指向不同的对象。

a = [1, 2, 3]
b = [1, 2, 3]# 它们有相同的内容,但它们是不同的对象
print(a is b)  # 输出 False
print(a is not b)  # 输出 True

8. 运算符优先级

Python中的运算符具有不同的优先级,这决定了它们在表达式中的计算顺序。了解运算符优先级有助于我们编写更准确的表达式,如果需要改变计算顺序,可以使用括号来明确指定。

以下是Python中运算符的优先级顺序,从高到低:

  1. 括号运算 ( )
  2. 指数运算 **
  3. 一元运算符 -(负数)和 not
  4. 乘法、除法和模 - * / // %
  5. 加法和减法 - +
  6. 位运算符 <<>>
  7. 比较运算符 <<=>>=!===
  8. 逻辑运算符 notand
  9. 逻辑运算符 or
  10. 赋值运算符 =+=-=
  11. 成员运算符 innot in

例如:

result = (1 + 2) * (3 - 4)  # 先计算括号内的加法和减法
# 输出结果为 (3) * (-1) = -3
print(result)  # 输出 -3

通过使用括号,你可以改变运算符的自然优先级,从而在复杂表达式中获得预期的行为。

9. 运算符重载

Python允许通过定义特殊的方法(称为魔术方法)来重载运算符。例如,__add__ 方法允许你定义一个对象与另一个对象相加时的行为。

class Point:def __init__(self, x, y):self.x = xself.y = ydef __add__(self, other):return Point(self.x + other.x,self.y + other.y)# 创建Point对象
p1 = Point(1, 2)
p2 = Point(3, 4)# 使用重载的加法运算符
p3 = p1 + p2print(p3.x, p3.y)  # 输出 4 6,表示x和y坐标的和

在这个例子中,我们定义了一个Point类,并通过其__add__方法重载了加法运算符+。这意味着当我们将两个Point对象相加时,它们的位置坐标会被相加,然后返回一个新的Point对象。

10. 条件表达式

Python使用三元条件运算符进行条件赋值操作,格式如下:

x if condition else y

这里,如果conditionTrue,则表达式的结果是x,否则是y

a = 5
b = 10
max_value = a if a > b else b
print(max_value)  # 输出 10,因为5不大于10

11. 逗号运算符

Python中的逗号可以用于分隔元组中的元素,但也可以作为运算符:

a, b = 1, 2
print(a, b)  # 输出 1 2

在这个例子中,逗号运算符用于在一条语句中为多个变量赋值。

12. 扩展的序列解包

Python 3允许你使用星号(*)来解包序列,这可以用来收集多个值到一个列表中,或者在函数调用中解包参数列表。

# 使用星号解包参数列表
args = (1, 2, 3)
function(*args)  # 等同于 function(1, 2, 3)# 收集多个值到列表
values = [1, 2, *range(3, 6)]
print(values)  # 输出 [1, 2, 3, 4, 5]

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

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

相关文章

轮到国产游戏统治Steam榜单

6月10日晚8点&#xff0c;《黑神话:悟空》实体版正式开启全款预售,预售开启不到5分钟,所有产品即宣告售罄。 Steam上&#xff0c;《黑神话:悟空》持续占据着热销榜榜首的位置。 但在《黑神话:悟空》傲人的光环下&#xff0c;还有一款国产游戏取得出色的成绩。 6月10日&#…

RK3568笔记三十二:PaddleSeg训练部署

一、环境 1、Autodl配置 PyTorch 1.7.0Python 3.8(ubuntu18.04)Cuda 11.02、所需环境需求 - OS: 64-bit - Python 3(3.6/3.7/3.8/3.9/3.10)&#xff0c;64-bit version - pip/pip3(9.0.1)&#xff0c;64-bit version - CUDA > 10.2 - cuDNN > 7.6 - PaddlePaddle (the…

“树莓派” 成为上市公司

“树莓派” 成为上市公司 树莓派公司昨日已在伦敦证券交易所首次亮相&#xff08;Raspberry Pi Holdings plc&#xff09;。早盘交易中&#xff0c;该公司股价大涨&#xff0c;这为伦敦首次公开发行&#xff08;IPO&#xff09;市场带去了一些动力。 Stable Diffusion 3 开源倒…

SaaS产品运营 | 千万不能踏入的PLG模式的六大误区

随着科技的迅速发展和市场竞争的日益激烈&#xff0c;越来越多的公司开始尝试采用PLG&#xff08;Product Led Growth&#xff0c;即产品驱动增长&#xff09;模式来推动其业务的发展。然而&#xff0c;尽管PLG模式在促进增长方面具有显著优势&#xff0c;但在实践中也容易出现…

先导小型五轴联动数控加工中心

先导小型五轴联动加工中心可以作为学校或培训机构的教学工具&#xff0c;帮助学生了解数控加工的基本原理和操作方法。它特别适用于机械、自动化、工业设计等相关专业的学生进行实践操作和课程项目。 小型五轴联动加工中心是一种能够同时控制五个自由度进行联动的加工设备。这五…

上午接到被裁员的通知,下午就收到涨薪30%的offer,我生怕公司反悔,当天就找HR签了离职协议,拿到了N+1赔偿!

大家好&#xff0c;我是瑶琴呀。 昨天看到一位网友分享自己被裁的经历&#xff1a;最近这段时间在面试&#xff0c;没成想上午刚被 HR 约谈裁员的事情&#xff0c;下午就收到下家公司涨薪 30% 的offer&#xff0c;这可真是天时人和&#xff0c;当天下午就找 HR 签了离职协议&a…

mysql索引B+树可视化演示地址

https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html

编程课学到什么年龄好就业:深入剖析与多维度思考

编程课学到什么年龄好就业&#xff1a;深入剖析与多维度思考 在当今数字化时代&#xff0c;编程技能已不再是专业人士的专属&#xff0c;而是越来越多人追求的职业发展路径。然而&#xff0c;关于何时开始学习编程以便更好地就业&#xff0c;却是一个颇具争议的话题。本文将从…

【产品经理】ERP订单处理2

本次讲解订单初始化成功到ERP系统过程中的后续环节。 一、根据客服备注更新订单信息 初始化订单过程中&#xff0c;若订单中的客服备注信息对订单进行更新&#xff0c;包括可能改收货信息、改商品、加赠品、指定快递等。 注意&#xff1a;更新订单的过程中要注意订单当前状…

【云原生】Kubernetes----Helm包管理器

目录 引言 一、Helm概述 1.Helm价值概述 2.Helm的基本概念 3.Helm名词介绍 二、安装Helm 1.下载二进制包 2.部署Helm环境 3.添加补全信息 三、使用Helm部署服务 1.创建chart 2.查看文件信息 3.安装chart 4.卸载chart 5.自定义chart服务部署 6.版本升级 7.版本…

8个常用的辅助函数!!

在开发各种项目时&#xff0c;我们会发现经常需要一些辅助函数来帮助我们实现一些需求&#xff0c;并且这些函数是在很多项目里都可以进行复用的。下面我就列出我们一些常用的辅助函数&#xff0c;来帮助大家在开发项目时&#xff0c;进行复用。 1. 首字母大写 将字符串的第一…

QTTabBar在重置Internet Explorer后失效

网上常见的办法是&#xff1a; 打开IE浏览器>>设置>>Internet选项>>高级。勾选启用第三方浏览器扩展&#xff0c;重启后生效。 打开IE浏览器-设置–管理加载项&#xff0c;启用QTTabBar。 实际在Win10上使用的时候会遇到点开IE自动跳转到Edge的问题。这时…

数字孪生技术及其广泛应用场景探讨

通过将实际物理世界中的物体或系统建模、模拟和分析&#xff0c;数字孪生技术可以提供更精确、更可靠、更高效的解决方案。数字孪生技术在智能制造、城市建设、智慧物流等众多领域中得到了广泛的应用。 通过将数据可视化呈现在虚拟环境中&#xff0c;我们可以更清晰地观察和理…

CodeArts Snap:辅助你编程的神器

CodeArts Snap - Visual Studio Marketplace 文心一言 CodeArts Snap&#xff1a;辅助你编程的神器 一、简介 CodeArts Snap是一款基于华为云研发大模型开发的智能开发助手&#xff0c;旨在覆盖软件开发的全生命周期&#xff0c;为开发者提供端到端的智能支持。自2023年7月…

element-plus(el-table)中summary-method和span-method用法详解

el-table官方文档 el-table属性名说明类型参数summary-method自定义的合计计算方法Function columns, data span-method合并行或列的计算方法Functionrow, column, rowIndex, columnIndex 合并表格行&#xff08;通用&#xff09; const mergeObj ref({}); // 用来记录需要…

Matlab实现DBO-BiTCN-BiGRU-Attention蜣螂算法优化双向时间卷积双向门控循环单元融合注意力机制多变量回归预测

下面是一个使用DBO-BiTCN-BiGRU-Attention&#xff08;蜣螂算法优化双向时间卷积双向门控循环单元融合注意力机制&#xff09;进行多变量回归预测的简化示例的Matlab代码。请注意&#xff0c;这只是一个示例&#xff0c;并且可能需要根据您的具体数据和问题进行适当的修改和调整…

网络编程2----UDP简单客户端服务器的实现

首先我们要知道传输层提供的协议主要有两种&#xff0c;TCP协议和UDP协议&#xff0c;先来介绍一下它们的区别&#xff1a; 1、TCP是面向连接的&#xff0c;UDP是无连接的。 连接的本质是双方分别保存了对方的关键信息&#xff0c;而面向连接并不意味着数据一定能正常传输到对…

【NLP】给Transformer降降秩,通过分层选择性降阶提高语言模型的推理能力

【NLP】给Transformer降降秩&#xff0c;通过分层选择性降阶提高语言模型的推理能力 文章目录 【自然语言处理-论文翻译与学习】序1、导论2、相关工作3、相关工具4、方案5、实验5.1 使用 GPT-J 对 CounterFact 数据集进行彻底分析5.1.1 数据集中的哪些事实是通过降阶恢复的&…

使用谷歌 Gemini API 构建自己的 ChatGPT(一)

AI领域一直由OpenAI和微软等公司主导&#xff0c;而Gemini则崭露头角&#xff0c;以更大的规模和多样性脱颖而出。它被设计用于无缝处理文本、图像、音频和视频&#xff1b;这些基础模型重新定义了人工智能交互的边界。随着谷歌在人工智能领域强势回归&#xff0c;了解Gemini如…

oracle绑定执行计划测试

创建表 SQL> create table xytest as select * from dba_objects where object_id is not null;Table created. 查询数据 SQL> select count(*) from xytest;COUNT(*) ----------87577在object_id创建索引 SQL> create index idx_obj_id on xytest(object_id);Inde…