【Python基础】Python运算符

news2024/9/22 13:36:05

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢!

文章目录

    • 一、前言
    • 二、Python 运算符
        • 2.1 什么是运算符?
        • 2.2 Python算术运算符
        • 2.3 Python 比较运算符
        • 2.4 Python赋值运算符
        • 2.5 Python位运算符
        • 2.6 Python逻辑运算符
        • 2.7 Python成员运算符
        • 2.8 Python身份运算符
        • 2.9 Python运算符优先级
    • 三、总结

一、前言

本文分享一些关于Python编程中运算符的知识。

  • 什么是Python?

    Python是由荷兰人吉多·范罗苏姆于1990年初设计的一门高级编程语言,该语言应用领域非常广泛,尤其在数据科学、人工智能、游戏开发等领域,它已经成为最受欢迎的程序设计语言之一,非常适合新手学习。

    Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/turtle.html#turtle-methods

  • Python语言有哪些特点?

    1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

    2.易于阅读:Python代码定义的更清晰。

    3.易于维护:Python的成功在于它的源代码是相当容易维护的。

    4.丰富的库:Python的最大的优势之一具有丰富的标准库,并且跨平台的,在UNIX,Windows和Mac兼容很好。

    5.面向对象:Python支持面向对象编程,在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

    6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

    7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

    8.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

    在这里插入图片描述

二、Python 运算符

2.1 什么是运算符?

如下简单的例子,3 和 5 被称为操作数,+ 称为运算符。

3 + 5 = 8

Python 语言支持以下类型的运算符:

1、算术运算符
2、比较(关系)运算符
3、赋值运算符
4、逻辑运算符
5、位运算符
6、成员运算符
7、身份运算符

接下来让我们一个个来了解Python的运算符。

2.2 Python算术运算符

以下假设变量 a=10,变量 b=21

在这里插入图片描述

实例如下:

#!/usr/bin/python3
 
a = 3
b = 2

 
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)
 
c = a**b 
print ("6 - c 的值为:", c)
 
c = a//b 
print ("7 - c 的值为:", c)

实例运行结果如下:

1 - c 的值为: 5
2 - c 的值为: 1
3 - c 的值为: 6
4 - c 的值为: 1.5
5 - c 的值为: 1
6 - c 的值为: 9
7 - c 的值为: 1
2.3 Python 比较运算符

以下假设变量 a 为 10,变量 b 为20:

在这里插入图片描述

实例如下:

#!/usr/bin/python3
 

a = 10
b = 20
 
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")
 
if ( b >= a ):
   print ("6 - b 大于等于 a")
else:
   print ("6 - b 小于 a")

实例运行结果如下:

1 - a 不等于 b
2 - a 不等于 b
3 - a 小于 b
4 - a 小于等于 b
5 - a 小于等于 b
6 - b 大于等于 a
2.4 Python赋值运算符

以下假设变量a为10,变量b为20:

在这里插入图片描述

实例如下:

#!/usr/bin/python3
 
a = 2
b = 3
c = a + b
print ("1 - c 的值为:", c)
 
a = 2
c = 3
c += a
print ("2 - c 的值为:", c)

a = 2
c = 3
c *= a
print ("3 - c 的值为:", c)
 
a = 2
c = 3	
c /= a 
print ("4 - c 的值为:", c)
 
a = 2
c = 3
c %= a
print ("5 - c 的值为:", c)

a = 2
c = 3
c **= a
print ("6 - c 的值为:", c)

a = 2
c = 3
c //= a
print ("7 - c 的值为:", c)

实例运行结果如下:

1 - c 的值为: 5
2 - c 的值为: 5
3 - c 的值为: 6
4 - c 的值为: 1.5
5 - c 的值为: 1
6 - c 的值为: 9
7 - c 的值为: 1

在 Python 3.8 及更高版本中,引入了一种新的语法特性,称为"海象运算符"(Walrus Operator),它使用 := 符号。这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。

海象运算符实例如下:

#!/usr/bin/python3
# 传统写法
n = 10
if n > 5:
    print(n)

# 使用海象运算符
if (n := 10) > 5:
    print(n)

海象运算符实例运行结果如下:

10
10

海象运算符的优点:

1、海象运算符(:=)允许在表达式内部进行赋值,这可以减少代码的重复,提高代码的可读性和简洁性。
2、在上述例子中,传统写法需要单独一行来赋值 n,然后在 if 语句中进行条件检查。而使用海象运算符的写法可以在 if 语句中直接进行赋值和条件检查。

2.5 Python位运算符

按位运算符是把数字看作二进制来进行计算的。

下表中变量 a 为 60,b 为 13二进制格式如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

Python中的按位运算法则如下:

在这里插入图片描述

实例如下:

#!/usr/bin/python3
 
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)

实例运行结果如下:

1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15
2.6 Python逻辑运算符

在Python中,逻辑运算符用于对布尔型变量进行运算,其结果也是布尔型。Python提供了三个基本的逻辑运算符:与(and)、或(or)和非(not)。

运算符描述实例
and与运算符:当两个操作数都为True时,结果才为True。如果任何一个操作数为False,则结果为False。例如,a = True; b = True; print(a and b) 将输出 True,而 a = True; b = False; print(a and b) 将输出 False。
or或运算符:只要两个操作数中有一个为True,结果就为True。只有当两个操作数都为False时,结果才为False。例如,a = True; b = False; print(a or b) 将输出 True,而 a = False; b = False; print(a or b) 将输出 False。
not非运算符:对一个操作数进行逻辑否定。如果操作数为True,则结果为False;如果操作数为False,则结果为True。例如,print(not False) 将输出 True,而 print(not True) 将输出 False。

注意:使用逻辑运算符时,应注意运算符的优先级和表达式的书写习惯。为了提高表达式的可读性和避免歧义,建议在复杂的逻辑表达式中使用括号。例如,(a < b) and (b < c) 这样的表达式比 a < b and b < c 更清晰,因为它明确地指出了逻辑运算的顺序。

实例如下:

#!/usr/bin/python3

# 使用Python逻辑运算符的简单例子
 
# 逻辑与运算符
a = 10
b = 20
if (a > 5) and (b > 15):
    print("1-结果为: 条件1和条件2都满足")
else:
    print("1-结果为: 条件1和条件2都不满足")
 
# 逻辑或运算符
if (a > 15) or (b > 15):
    print("2-结果为: 条件1或条件2满足")
else:
    print("2-结果为: 条件1和条件2都不满足")
 
# 逻辑非运算符
if not (a > 20):
    print("3-结果为: a不大于20")
else:
    print("3-结果为: a大于20")
 
# 简写与优先级
# 与运算符优先级高于或运算符,可以直接结合
if a > 5 and b > 15 or a > 15:
    print("4-结果为: 某些条件满足")
else:
    print("4-结果为: 条件都不满足")
 
# 使用括号可以改变优先级
if (a > 5 and b > 15) or (a > 15):
    print("5-结果为: 条件1和条件2都满足 或者 a大于15")
else:
    print("5-结果为: 条件都不满足")

运行结果如下:

1-结果为: 条件1和条件2都满足
2-结果为: 条件1或条件2满足
3-结果为: a不大于20
4-结果为: 某些条件满足
5-结果为: 条件1和条件2都满足 或者 a大于15
2.7 Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

在这里插入图片描述

实例如下:

#!/usr/bin/python3

 
a = 3
b = 6
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 中")

实例运行结果如下:

1 - 变量 a 在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
2.8 Python身份运算符

身份运算符用于比较两个对象的存储单元。

在这里插入图片描述

注: id() 函数用于获取对象内存地址。

实例如下:

#!/usr/bin/python3
 
a = [1, 2, 3]  
b = [1, 2, 3]

if ( a is b ):
   print ("1 - a 和 b 有相同的标识")
else:
   print ("1 - a 和 b 没有相同的标识")
 
if ( id(a) == id(b) ):
   print ("2 - a 和 b 有相同的标识")
else:
   print ("2 - a 和 b 没有相同的标识")
  
if ( a == b ):
   print ("3 - a 和 b 值相等")
else:
   print ("3 - a 和 b 值不相等")

print("4- a的内存地址:"+str(id(a)))

print("5- b的内存地址:"+str(id(b)))

实例运行结果如下:

1 - a 和 b 没有相同的标识
2 - a 和 b 没有相同的标识
3 - a 和 b 值相等
4- a的内存地址:139687219017024
5- b的内存地址:139687219031488

注意,is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

2.9 Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符, 相同单元格内的运算符具有相同优先级。 运算符均指二元运算,除非特别指出。 相同单元格内的运算符从左至右分组(除了幂运算是从右至左分组):

在这里插入图片描述

三、总结

以上介绍了一些关于Python编程中运算符的知识,并提供了对应的示例代码。希望对大家有帮助,谢谢。

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

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

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

相关文章

大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

OpenCV绘图函数(6)绘制椭圆函数ellipse()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 画出一个简单的或粗的椭圆弧或者填充一个椭圆扇形。 函数 cv::ellipse 使用更多的参数可以画出椭圆轮廓、填充的椭圆、椭圆弧或填充的椭圆扇形。…

复现很难吗?找我帮你解决烦恼

代码复现&#xff0c;算法复现&#xff0c;文章复现&#xff0c;科研复现 Matlab&#xff0c;Python均可 文献里的算法&#xff0c;方法均可复现&#xff0c; 提供代码改进&#xff0c;模型优化&#xff0c;增加模块&#xff0c;python代做&#xff0c;预测&#xff0c;微调&am…

潮玩宇宙无聊猿斗兽场游戏开发代码示例

明确游戏目标和定位&#xff1a;确定游戏的类型&#xff08;比如是竞技类、策略类等&#xff09;、风格、玩法规则等。设计游戏架构&#xff1a;包括服务器架构、客户端架构、数据库设计等。美术设计&#xff1a;创作游戏中的角色、场景、道具等美术资源。编程实现&#xff1a;…

五分钟本地部署Uptime Kuma运维监控结合内网穿透实现远程访问

文章目录 前言**主要功能**一、前期准备本教程环境为&#xff1a;Centos7&#xff0c;可以跑Docker的系统都可以使用本教程安装。本教程使用Docker部署服务&#xff0c;如何安装Docker详见&#xff1a; 二、Docker部署Uptime Kuma三、实现公网查看网站监控四、使用固定公网地址…

MySQL:简述多版本并发控制MVCC

一、MVCC的概念 1、MVCC 数据库并发场景有三种&#xff0c;分别为&#xff1a; &#xff08;1&#xff09;读读&#xff1a;不存在任何问题&#xff0c;也不需要并发控制。 &#xff08;2&#xff09;读写&#xff1a;有线程安全问题&#xff0c;可能会造成事务隔离性问题&am…

App弱网测试是怎么测试的!

一、网络测试的一般流程 step1&#xff1a;首先要考虑网络正常的情况 ① 各个模块的功能正常可用 ② 页面元素/数据显示正常 step2&#xff1a;其次要考虑无网络的情况 ① APP各个功能在无网络情况下是否可用 ② APP各个页面之间切换是否正常 ③ 发送网络请求时是否会…

算法力扣刷题记录 九十【739. 每日温度】

前言 单调栈第一篇。单调栈解题思路如何&#xff1f; 一、题目阅读 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会…

2024 Python3.10 系统入门+进阶(十):Python字典及其常用操作详解

目录 一、初始化1.1 {}--直接创建字典1.2 dict()函数--创建字典1.3 fromkeys()方法--创建一个新字典 二、元素访问2.1 使用中括号[]语法2.2 get()方法--获取字典中指定键的值2.3 setdefault()方法--获取字典中指定键的值 三、新增和修改3.1 直接赋值3.2 update()方法--更新字典…

RabbitMQ练习(Routing)

1、RabbitMQ教程 《RabbitMQ Tutorials》https://www.rabbitmq.com/tutorials 2、环境准备 参考&#xff1a;《RabbitMQ练习&#xff08;Hello World&#xff09;》和《RabbitMQ练习&#xff08;Work Queues&#xff09;》。 确保RabbitMQ、Sender、Receiver、Receiver2容器…

人工智能训练师一级(高级技师)、二级(技师)考试指南

随着经济快速发展&#xff0c;人工智能技术在制造业、交通运输、农业、医疗健康、金融服务、物流配送以及城市服务等多个领域得到了广泛的应用。不仅带来产业的转型升级&#xff0c;更是对具备相应技能的人工智能训练师需求的激增。 根据教育部发布的《关于做好职业教育“…

BugKu练习记录:把猪困在猪圈里

题目&#xff1a; 用base64解码 再对应猪圈密码解码&#xff0c;得到答案 t h i s i s p i g p a s s w o r d

house of pig

文章目录 house of pig介绍&#xff1a;利用条件&#xff1a;利用流程&#xff1a; 例题&#xff1a;利用&#xff1a; 总结&#xff1a; house of pig 介绍&#xff1a; House of Pig 是一个将 Tcache Stash Unlink Attack 和 FSOP 结合的攻击&#xff0c;同时使用到了 Larg…

MQ专题:事务消息的实现方式

方案 事务消息投递的过程 step1&#xff1a;开启本地事务step2&#xff1a;执行本地业务step3&#xff1a;消息表t_msg写入记录&#xff0c;status为0&#xff08;待投递到MQ&#xff09;step4&#xff1a;提交本地事务step5&#xff1a;若事务提交成功&#xff0c;则投递消息…

【原创教程】电气电工13:按钮开关指示灯篇

按钮开关在电气电工工作中,看似简单,但是有些细节问题,我们还是要注意的。电气电工工作是一个完整的体系,任何一件事疏忽,都会埋下安全隐患。 首先我们来看下 开关按钮的定义: 按钮开关是指利用按钮推动传动机构,使动触点与静触点按通或断开并实现电路换接的开关。按…

软件测试面试题!收藏起来,每天看一看,月薪20K!

初级测试总结题&#xff01;必背&#xff01;必背&#xff01;必背&#xff01; 1&#xff09;软件的概念&#xff1f; 软件是计算机系统中与硬件相互依存的一部分&#xff0c;包括程序、数据以及与其相关文档的完整集合。 2&#xff09;软件测试的概念&#xff1f; 使用人…

讲透一个强大的算法模型,Transformer

Transformer 模型是一种基于注意力机制的深度学习模型&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;如机器翻译、文本生成和语义理解。 它最初由 Vaswani 等人在2017年的论文《Attention is All You Need》中提出。它突破了传统序列模型&am…

搬运5款实用工具,帮你更好地完成各种任务

​ 在日常工作和生活中&#xff0c;使用各种工具来提升效率和简化任务变得尤为重要。本文将介绍几款实用的工具&#xff0c;帮助你更好地完成各种任务。 1. 自动化脚本——AutoHotkey ​ AutoHotkey是一款功能强大的自动化脚本编写工具&#xff0c;可以用来自动执行日常任务&…

【网络安全】漏洞挖掘

漏洞描述 Spring框架为现代基于java的企业应用程序(在任何类型的部署平台上)提供了一个全面的编程和配置模型。 Spring Cloud 中的 serveless框架 Spring Cloud Function 中的 RoutingFunction 类的 apply 方法将请求头中的“spring.cloud.function.routing-expression”参数…

餐饮_零售_麻辣烫_水果店_零食店_生鲜店等收银系统

介绍 多商户多门店的Sass收银系统。适用于餐饮_零售_麻辣烫_水果店_零食店_生鲜店等收银系统&#xff0c;包含windows收银pos端、商家小程序管理端、商家运营端、电子会员、电子小票 软件架构 收银Pos&#xff1a;vue2、node、electron、sqlite、antd 后端服务&#xff1a;spri…