【Python从入门到进阶】7、运算符

news/2024/4/30 2:59:08/文章来源:https://blog.csdn.net/u013517797/article/details/129042969

接上篇《6、变量规范及类型转换》
上一篇我们学习了Python变量的命名规范以及类型转换。本篇我们来学习Python的运算符部分,包括算数运算符、赋值运算符、比较运算符、逻辑运算符等。

一、运算符含义

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在Python中运算符大致可以分为5种类型:算数运算符、赋值运算符、复合赋值运算符、比较运算符、逻辑运算符。

二、算数运算符

下面以a=10,b=20为例进行计算

注意:混合运算时,优先级顺序为:**高于* / % //高于+ -,为了避免歧义,建议使用()来处理运算符优先级。
并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。如:
10+5.5*2=21.0
(10+5.5)*2=31.0
测试实例代码:

a=3
b=2print("a+b=",a + b)
print("a-b=",a - b)
print("a*b=",a * b)
print("a/b=",a / b)
# 取整
print("a//b=",a // b)
# 取余
print("a%b=",a % b)
# 指数 幂
print("a**b=",a ** b)
# 加括号提高运算符优先级
print("(5+1)*2=",(5+1)*2)

结果:

拓展:字符串也可以通过算数运算符计算。
●如果是两个字符串做加法运算,会直接把两个字符串拼接成一个字符串
 

# 字符串使用运算符
# (1)字符串的加法,效果是将两个字符串拼接
a='123'
b='456'
print("字符串 a+b=",a + b)

效果:

字符串 a+b= 123456

●如果数字和字符串做加法运算,会直接报错

# 在Python中,+号两端都是字符串才可以进行加法运算
a='123'
b=456
print("字符串 a+str(b)=",a + str(b)) 
#如果不强行转换b为字符串,会报错
print("字符串 a+b=",a + b)

效果:

●如果数字和字符串做乘法运算,会将这个字符串重复多次
 

#(2)字符串的乘法,是将字符串重复多少次
a='你爱我 我爱你 蜜雪冰城甜蜜蜜 \n'
print("字符串 a*3=",a*3)

效果:

字符串 a*3= 你爱我 我爱你 蜜雪冰城甜蜜蜜 
你爱我 我爱你 蜜雪冰城甜蜜蜜 
你爱我 我爱你 蜜雪冰城甜蜜蜜

三、赋值运算符


赋值运算符测试代码:

# 单个变量赋值
num = 10
print("num=",num)# 同时为多个变量赋值(使用等号连接)
a=b=4
print("a=",a)
print("b=",b)# 多个变量赋值(使用逗号分割)
num1,f1,str1=100,3.14,"hello"
print("num1=",num1)
print("f1=",f1)
print("str1=",str1)

效果:

四、复合赋值运算符


复合赋值运算符测试代码:

# 示例:+=
a = 100
a +=1
print("a +=1 ",a)
# 示例:-=
a = 100
a -=1
print("a -=1 ",a)
# 示例:*=
a = 100
a *=2
print("a *=2 ",a)
# 示例:/=
a = 100
a /=2
print("a /=2 ",a)
# 示例://=
a = 100
a //=3
print("a //=3 ",a)
# 示例:%=
a = 100
a %=3
print("a %=3 ",a)
# 示例:**=
a = 100
a **=3
print("a **=3 ",a)

效果:

五、比较运算符


比较运算符测试代码:

# == 恒等 判断==两边的变量是否一致
a=10
b=20
c=10
print('a==b 结果 ',a==b)
print('a==c 结果 ',a==c)
# != 不等 判断!=两边的变量是否不一致
print('a!=b 结果 ',a!=b)
# 拓展:<> 不等 Python2版本使用,Python3遗弃
# print('a<>b 结果 ',a<>b)
# > 大于
print('a>b 结果 ',a>b)
# >= 大于等于
print('a>=c 结果 ',a>=c)
# < 小于
print('a<b 结果 ',a<b)
# <= 小于等于
print('a<=c 结果 ',a<=c)

效果:

六、逻辑运算符

1、逻辑运算符基础

逻辑运算符测试代码:

# and 与
# and两边的数据,必须全部是true的时候,才会返回true
# 只要有一端返回的是false,那么就返回false
print('10>20 and 10>11 结果:',10>20 and 10>11)
# and 一端是true,一端是false,返回的是false
print('10>5 and 10>11 结果:',10>5 and 10>11)
# and 一端是false,一端是true,返回的是false
print('10>11 and 10>5 结果:',10>11 and 10>5)
# and 两端返回的都是true,则返回结果为true
print('10>5 and 10>6 结果:',10>5 and 10>6)print('----------------------')# or 或者
# or的两端只要有一端是true,那么结果就是true
# or的两端都是false,则返回的是false
print('10>20 or 10>21 结果:',10>20 or 10>21)
# or的两端前面的是true,后面的是false,返回的是true
print('10>5 or 10>21 结果:',10>5 or 10>21)
# or的两端前面的是false,后面的是true,返回的是true
print('10>20 or 10>5 结果:',10>20 or 10>5)
# or的两端前面的是false,后面的是true,返回的是true
print('10>6 or 10>5 结果:',10>6 or 10>5)print('----------------------')# not 非 取反
print('not True 结果:',not True)
print('not False 结果:',not False)
print('not (10>20)) 结果:',not (10>20))

效果:

2、逻辑运算符性能优化

and、or对于运算符前后是有判断逻辑的,and前如果是false,就不再执行and后语句。or前如果是true,就不再执行or后语句。也就是逻辑运算符会存在“短路”的逻辑。
测试代码:

a = 36
# and的性能优化:当and前面的结果是false的情况下,and后面的代码不再执行
a < 10 and print('hello world 1') #此处不会打印 hello world 1
a > 10 and print('hello world 2') #此处会打印 hello world 2# or的性能优化:
b = 38
# or的性能优化:当or前面的结果是true的情况下,or后面的代码不再执行
b > 39 or print('hello world 3') #此处会打印 hello world 3
b < 39 or print('hello world 4') #此处不会打印 hello world 4

效果:

至此,Python运算符的所有内容已经讲解完毕,下一篇我们来学习Python的输入和输出。


参考:尚硅谷Python爬虫教程小白零基础速通教学视频

转载请注明出处:https://blog.csdn.net/acmman/article/details/129042969

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

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

相关文章

指 针

1.指针指针的作用: 可以通过指针间接访问内存&#xff08;可以通过指针的保存一个地址&#xff08;指针--地址&#xff09;&#xff09;内存编号是从0开始记录的&#xff0c;一般用十六进制数字表示。可以利用指针变量保存地址指针变量的定义和使用指针变是定义语法: 数据类型 …

【项目精选】基于Javaee的影视创作论坛的设计与实现(视频+论文+源码)

点击下载源码 基于Javaee的影视创作论坛的设计与实现主要用功能包括&#xff1a; 首页推荐、用户管理、影片管理、评论管理、 预告片管理、海报管理、公告管理、数据检索、用户注册与登录等等功能、统结构如下 &#xff08;1&#xff09;后台管理: 管理模块&#xff1a;管理员…

碰撞检测算法分类

包围形法粗糙检测, 包含以下两种类检测外接圆法轴对齐包围矩形&#xff0c; AABB 碰撞检测算法之包围形法分离轴精细检测 BOX vs PolygonOBBseparating Axis Theorem碰撞检测算法之分离轴定理GJKGJK&#xff08;Gilbert–Johnson–Keerthi&#xff09;, 相比 SAT 算法&#xff…

jvisualvm工具使用

jdk自带的工具jvisualvm&#xff0c;可以分析java内存使用情况&#xff0c;jvm相关的信息。 1、设置jvm启动参数 设置jvm参数**-Xms20m -Xmx20m -XX:PrintGCDetails** 最小和最大堆内存&#xff0c;打印gc详情 2、测试代码 TestScheduleClassGc package com.core.schedule;…

华为OD面试经验分享,尤其注意机试题部分

文章目录招聘流程和背景介绍面试准备机试题目类型和解答技巧在算法部分在操作系统部分面试官提问和答题技巧面试总结和建议推荐一些华为 od 常见的机试题题目&#xff1a;两数之和题目&#xff1a;二叉树的遍历题目&#xff1a;链表反转题目&#xff1a;最大子序和招聘流程和背…

C语言之结构体内存的计算

结构体的内存 一.提出疑问 结构体占用的是一片连续的内存空间&#xff0c;大小是由成员变量的类型决定的。但并不是计算所有成员变量的类型大小之和那么简单。 先举一个实例&#xff1a; struct student {int age; //4个字节int telephone; //4个字节 }; int main() {struc…

jhipster自动生成java代码的方法

一、前言 java springboot后台项目用到了jpa查询数据库&#xff0c;还用到了jhipster&#xff0c;这个东西可以自动生成基础的Controller、Service、Dao、JavaBean等相关代码&#xff0c;减少重复开发。 在此总结下使用方法。 二、jhipster自动生成java代码的方法 1.需要先…

ShardingSphere-Proxy5 根据时间分表

0、软件版本 ShardingSphere-Proxy&#xff1a; 5.2.0 MySQL&#xff1a; 8.0.30 系统&#xff1a; win10 1、ShardingSphere-Proxy下载 我们可以在 官网 找到最新版ShardingSphere-Proxy下载&#xff0c;也可以在ShardingSphere仓库中下载 2、ShardingSphere-Proxy配置 …

哈希

一、unordered系列关联式容器 set、map / unordered_set、unorder_map 区别&#xff1a; set、map底层结构是红黑树&#xff0c;unordered_set、unorder_map底层结构是哈希表unordered系列是&#xff1a;无序、单向迭代器、效率高( O(1) )每个容器都自身提供swap成员函数&am…

用主动游泳的三维水母模型量化美杜莎的(medusan)机械空间的性能(二)(2017)

文章目录用主动游泳的三维水母模型量化美杜莎的&#xff08;medusan&#xff09;机械空间的性能&#xff08;二&#xff09;(2017)原文链接&#xff1a;https://doi.org/10.1017/jfm.2017.3结果3.1 参考案例的游泳动力学3.2 改变钟的主动和被动材料属性3.2.1 改变施加的张力3.2…

virtuoso数据库介绍

在国内&#xff0c;对海量 RDF 数据的管理有着迫切的实际需求&#xff1b; RDF&#xff1a;Resource Description Framework&#xff0c;是一个使用XML语法来表示的资料模型(Data model)&#xff0c;用来描述Web资源的特性&#xff0c;及资源与资源之间的关系。 Virtuoso可以对…

LINUX内核链表

LINUX内核链表 一、传统链表的缺陷 传统的双向循环链表概念简单&#xff0c;操作方便&#xff0c;但存在有致命的缺陷&#xff0c;用一句话来概括就是&#xff1a; 每一条链表都是特殊的&#xff0c;不具有通用性。换句话说&#xff0c;对于每一种不同的数据&#xff0c;所构…

VMware安装Linux虚拟机后忘记root密码处理方法

OS版本&#xff1a;Red Hat 7.7 问题说明&#xff1a; 之前用VMWare安装了一台Linux虚机&#xff0c;由于长期没使用&#xff0c;导致忘记了root密码。所以需要修改root密码。 Root密码修改 现将修改root密码的操作步骤记录如下。 1.启动虚拟机&#xff0c;出现启动倒计时…

Git 基本操作之Git GUI界面和git命令行如何选择

1. 为啥推荐使用git命令行 我发现公司有很多的同事都喜欢使用git的GUI界面工具&#xff0c;喜欢鼠标点点点就完成了代码的提交&#xff0c;这种方式的确是比较简单便捷&#xff0c;但是却存在风险。先上一个事故给大家醒醒脑。 VScode Git 界面操作引发的惨案 上面的惨案是VS…

一种基于加密域的数字图像水印算法的设计与实现(附Matlab源码)

一种基于加密域的数字图像水印算法的设计与实现 项目介绍 毕设项目 题目&#xff1a;一种基于加密域的数字图像水印算法的设计与实现 随着数字媒体技术的发展&#xff0c;数字媒体版权的保护得到了越来越多人的重视&#xff0c;数字水印技术作为数字媒体版权保护的有效手段…

JavaScript 教程导读

JavaScript 是 Web 的编程语言。所有现代的 HTML 页面都使用 JavaScript&#xff0c;可以用于改进设计、验证表单、检测浏览器、创建cookies等。JavaScript 非常容易学。本教程将教你学习从初级到高级JavaScript知识。JavaScript 在线实例本教程包含了大量的 JavaScript 实例&a…

如何用P6软件编制项目进度计划(下)

卷首语 根据项目合同包含的工作范围进行工作分解&#xff08;WBS&#xff09;&#xff0c;按照业主的要求及项目管理的需要&#xff0c;考虑不同阶段和层次&#xff0c;适时编制出项目管理所要求的的各级进度计划。 4搜集项目计划与进度控制相关信息 搜集与项目计划编制与进…

计算机SCI期刊审稿人,一般关注论文的那些问题? - 易智编译EaseEditing

编辑主要关心&#xff1a; &#xff08;1&#xff09;文章内容是否具有足够的创新性&#xff1f; &#xff08;2&#xff09;文章主题是否符合期刊的受众读者&#xff1f; &#xff08;3&#xff09;文章方法学是否合理&#xff0c;数据处理是否充分&#xff1f; &#xff08;…

谷歌seo快速排名优化方法?谷歌seo排名技巧

本文主要分享关于谷歌seo排名如何快速提升的一些技巧。 本文由光算创作&#xff0c;有可能会被修改和剽窃&#xff0c;我们佛系对待这种行为吧。 谷歌seo快速排名优化方法&#xff1f;谷歌seo排名有什么技巧&#xff1f; 答案是&#xff1a;持续建设GPB外链可有效提升谷歌排…

TCP的拥塞控制算法之一:慢启动算法、拥塞避免算法

目录 什么是拥塞控制&#xff0c;为什么需要拥塞控制 慢启动 拥塞避免 什么是拥塞控制&#xff0c;为什么需要拥塞控制 拥塞通常是指从随着网络中的主机增加其发送速率并因为网络的原因使网络变得十分拥挤&#xff0c;此时会经常发生丢包现象&#xff0c;导致网络的传输效率…