python零基础教程之python运算符

Python的运算符是用于执行各种操作的符号或符号组合。它们用于操作数据并进行算术、比较、逻辑和其他类型的运算。我们所熟知的加减乘除也是运算符中的一种。Python提供了多种类型的运算符,有算术运算符,比较运算符,赋值运算符,逻辑运算符,位算符等等。

Python教程(13)——Python运算符详解

算术运算符

算术运算符是Python中比较简单的运算符,我们小学所学习的加减乘除也是算术运算符中的一部分,用于执行数学运算,具体有以下算术运算符。

1、 加法运算符(+):将两个操作数相加。

a = 10b = 5c = a + bprint(c) # 输出:15

2、 减法运算符(-):从第一个操作数中减去第二个操作数。

a = 10b = 5c = a - bprint(c) # 输出:5

3、 乘法运算符(*):将两个操作数相乘。

a = 10b = 5c = a * bprint(c) # 输出:50

4、 除法运算符(/):将第一个操作数除以第二个操作数,结果为浮点数。

a = 10b = 5c = a / bprint(c) # 输出:2.0

5、 取余运算符(%):返回第一个操作数除以第二个操作数的余数。

a = 10b = 3c = a % bprint(c) # 输出:1

6、 幂运算符(**):将第一个操作数作为底数,第二个操作数作为指数进行幂运算。

a = 2b = 3c = a ** bprint(c) # 输出:8

7、 整除运算符(//):将第一个操作数除以第二个操作数并向下取整。

a = 10b = 3c = a // bprint(c) # 输出:3

算术运算符总的来说还是比较简单的,但是有些情况还是需要注意。比如有些浮点数相加,结果并不一定是你认为的结果,像
0.1+0.2结果就是0.30000000000000004,
0.1*0.2结果就是0.020000000000000004,
0.3-0.2结果就是0.09999999999999998,
很违反直觉,但是确实是这样的,这个涉及到计算机用二进制表示小数的精度问题。
还有就是浮点数和整数进行算术运算符,结果应该也是浮点数。

比较运算符

Python的比较运算符用于比较两个值之间的关系,返回布尔值(True或False),我们小学所学的大于小于就是比较运算符,具体有以下比较运算符。

1、 等于运算符(==):用于检查两个操作数是否相等。
2、 不等于运算符(!=):用于检查两个操作数是否不相等。
3、 大于运算符(>):用于检查第一个操作数是否大于第二个操作数。
4、 小于运算符(<):用于检查第一个操作数是否小于第二个操作数。
5、 大于等于运算符(>=):用于检查第一个操作数是否大于或等于第二个操作数。
6、 小于等于运算符(<=):用于检查第一个操作数是否小于或等于第二个操作数。

a = 5b = 10print(a == b) # 输出:Falseprint(a != b) # 输出:Trueprint(a > b) # 输出:Trueprint(a < b) # 输出:Trueprint(a >= b) # 输出:Falseprint(a <= b) # 输出:True

赋值运算符

Python的赋值运算符用于将值赋给变量,就是将左边的值赋值给右边,赋值运算符中最重要的符号就是=,然后在结合其他的加减乘除可以扩展出其他的赋值运算符,以下是Python的赋值运算符。

1、 等号运算符(=):将右边的值赋给左边的变量。
2、 加等于运算符(+=):将右边的加到左边的变量上,并将结果赋给左边的变量。
3、 减等于运算符(-=):将右边的值从左边的变量中减去,并将结果赋给左边的变量。
4、 乘等于运算符(*=):将右边的值乘以左边的变量,并将结果赋给左边的变量。
5、 除等于运算符(/=):将左边的变量除以右边的值,并将结果赋给左边的变量。
6、 取模等于运算符(%=):将左边的变量对右边的值取模,并将结果赋给左边的变量。

大家需要注意的是,这里的赋值运算符可能与数学上的运算符有点出入,但是实际上是一样的,这里将加减乘除+-*/写在等号的左边,其实是和常规理解的写法是一样的,比如,a += 3就是 a = a + 3,记住这就是一样的。

a = 10a %= 3print(a) # 输出:1b = 2b *= 3print(b) # 输出:6

逻辑运算符

编程中逻辑运算与数学中的逻辑运算是一样的,Python的逻辑运算符用于在布尔值之间进行逻辑运算,返回布尔值结果(True或False)。

逻辑运算类型

1、 逻辑与运算符(and):当所有操作数都为True时,结果为True;只要有一方为False,那么结果为False。

x = 5y = 10z = (x < 10 and y > 5)print(z) # 输出:Truew = (x > 10 and y > 5)print(w) # False

2、 逻辑或运算符(or):当有一个操作数为True时,那么结果为True;只有所有的操作数为False,那么结果为False。

x = 5y = 10z = (x < 10 or y < 5)print(z) # 输出:Truew = (x > 10 or y < 5)print(w) # False

3、 逻辑非运算符(not):当操作数为True时,结果为False;当操作数为False时,结果为True。

x = 5y = 10z = not(x < 10 and y > 5)print(z) # 输出:False

逻辑运算本质

逻辑运算符返回的结果一般都是布尔值,但并不是说绝对都是返回布尔值的。比如以下情况就不输出True或者False了。

x = 5y = 10z = (x and y)print(z) # 输出:10w = (x or y)print(w) # 输出:5

在Pyhon当中,任何非0或非空对象都被视为True,像大于0或者小于0的数,都是被视为True。而整数0,浮点数0,空字符串,空列表,空元组等等,都被视为False。但同时需要明白,这个并不是说2 == True的结果就是为True。在布尔值中,True是1,False是0。

另外需要注意的是,逻运算符是短路运算符,即在计算表达式期间,如果已经确定结果,就不再计算剩下表达式。
例如,在使用与运算符(and)时,第一个操作数为False,那么第二个操作数将不会被计算,因为无论第二个操作数是什么,都不会影响最后的结果了,并且输出第一个操作数的值。如果第一个操作数是True,那么就会继续计算第二个操作数的值,并把第二个操作数的值作为结果输出。
同样地,使用或算符(or)时,如果第一个操作数为True,那第二个操作数将不会被计算,因为无论第二个操作数是什么,都不会影响最后的结果了,并且输出第一个操作数的值。如果第一个操作数是False,那么就会继续计算第二个操作数的值,并把第二个操作数的值作为结果输出。
大家可以结合一下上面的结论和例子来理解,并且自己可以动手实践起来。

位运算符

位运算符在数学中并不常见,所以可能很多初学编程的朋友不大理解。位运算符用于对整数进行位级操作,也就是将一个整数转化成二进制数,然后两个二进制数进行的各种操作,位运算符一般常见与底层操作相关的。

1、 按位与(&):对两个操作数的每个位执行与操作,如果两个对应的位都是1,则结果为1,有任何一个方为0,结果就为0。和逻辑与运算有点像。

a = 5 # 二进制表示为 0101b = 3 # 二进制表示为 0011result = a & b # 二进制表示为 0001print(result) # 输出:1

在上述示例中,按位与运算符(&)对变量 a 和 b 进行位运算。结果是将 a 和 b 的对应位进行与操作,得到的二进制数为 0001,转换成十进制为 1。

2、 按位或(|):对两个操作数的每个位执行或操作,如果两个对应的位有一个1,则结果为1,只有两个对应的位为0,结果才为0。和逻辑或运算有点像。

a = 5 # 二进制表示为 0101b = 3 # 二进制表示为 0011result = a | b # 二进制表示为 0111print(result) # 输出:7

在上述示例中,按位或运算符(|)对变量 a 和 b 进行位运算。结果是将 a 和 b 的对应位进行或操作,得到的二进制数为 0111,转换成十进制为 7。

3、 按位异或(^):对两个操作数的每个位执行异或操作,如果两个对应的位不相同,则结果为1,否则为0。也就是两个对应的位都是1或者都是0,那么结果为0,只要不相同,就是1。

a = 5 # 二进制表示为 0101b = 3 # 二进制表示为 0011result = a ^ bprint(result) # 输出:6

在上述示例中,按位异或运算符(^)对变量 a 和 b 进行位运算。结果是将 a 和 b 的对应位进行异或操作,得到的二进制数为 0110,转换成十进制为 6。

4、 按位取反(~):对操作数的每个位执行取反操作,将1变为0,将0变为1。

a = 5 # 二进制表示为 0101result = ~a print(result) # 输出:-6

这里需要注意的是,我们在之前按位与或者按位或中,是为了书写方便,实际上5和3在32位机器上的内存里的表示是这样的。

5 - 0000 0000 0000 0000 0000 0000 0000 01013 - 0000 0000 0000 0000 0000 0000 0000 0001

因为上面的计算中,并不需要前面那么多位,所以我们就只写后面几个,但是按位取反就需要完整的表示出来,对5按位取反就是下面这个

1111 1111 1111 1111 1111 1111 1111 1010

这个在内存当中是个 -6,至于为什么,大家也不用管,有兴趣的可以去查找相关资料来了解,负数的补码表示方式,本文就不讨论这个问题。

5、 按位左移(<<):将操作数的所有位向左移动指定的位数。

a = 5 # 二进制表示 0101result = a << 2print(result) #:20

在述示例中,按位左移运算符(<<)将变量a的所有位向左移2位。结果是将a的二进制数 0101 左移2位,得到的二进制数为 10100,转换成十进制为 20。

6、 按位右移(>>):将一个操作数的所有位向右移动指定位数。

a = 5 # 二进制表示为 0101result = a >> 1print(result) # 输出:2

在述示例中,按位右运算符(>>)将变量a的所有位向右移动1位。结果是将a的二进制数 0101 右移1位,得到的二进制数为 0010,转换成十进制为 2。

这些位运算符可以用于对整数进行位级操作。通过使用这些运算符,你可以在位级上处理二进制数据,提取或操作其中的位,满足特定需求。请注意,位运算符仅适用于整数类型。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 9月 24日 下午2:28
下一篇 2023年 9月 24日 下午2:38

相关推荐

  • 51刷步网 微信刷步数方法更新了

    巴拉巴拉吧啦~ 最近很多人跟我讲 管理员,你们网站怎么回事儿,小米运动又是什么鬼? 好了,时隔一个星期了,我终于现身跟大家掰掰这其中的缘由了 因为乐心健康之前不是出过几次问题吗?再…

    2023年 9月 23日
  • Outlook企业邮箱怎么注册

    Outlook 邮箱介绍 Microsoft Outlook是由微软公司所出品Microsoft Office内的个人信息管理系统软件,功能包括收发电子邮件、日历等等。它也是与Mi…

    2023年 9月 8日
  • 小电共享充电宝归还后继续收费

    租借共享充电宝一两个小时,归还两天后却被强制扣费99元;联系客服维权,客服却让提供监控视频,而商场、影院等场所并不支持顾客调取监控;还有不少消费者3到5天后才被扣款,却被通知“超出…

    2023年 9月 8日
  • 普通人巧用优惠券省钱的一天多少钱

    作为普通人来说,不能挣到更多的钱,那攒钱的主要行为就是省钱了。因为作为普通人,大部分人其实是没有可以让自己兼职的第二来源的。 月初到了,又是京东极速版放生活费新日期,我赶紧点开京东…

    2023年 6月 23日
  • 陌陌直播产品的用户体系拆解,陌陌直播转型归来

    一、陌陌直播产品商业通路和用户价值养成路径 MOMO陌陌直播(以下简称陌陌直播)是一款高频、能够吸引用户直接付费使用的产品。 通过产品内容模块分析,陌陌直播包含了直播模块、小游戏模…

    2023年 7月 7日
  • 支付宝即将上线新功能,引发了(支付宝支付功能要取消了吗)

    在开始前,先问大家个问题。 如果你是支付宝用户,如果微信支付和支付宝没有绑定同张银行卡,该怎么向微信用户转账? 按照传统步骤,只能是先转账到银行卡中,再到微信中,绑定银行卡,从银行…

    2022年 12月 25日
  • 宽带密码改了后怎么重新设置wifi

    由于今天装了wifi,所以写一个关于这个宽带的,因为大家好像都不是很会设置,所以写一下 视频地址:具体视频 1.买哪一家的宽带 1.电信 有可能最好的,但是也可能是最贵的,为什么是…

    2023年 6月 7日
  • 怎么解决win10键盘延迟,笔记本外接键盘延迟怎么解决

    我相信许多用户在使用带有Win10系统的计算机时会遇到键盘延迟的问题,尤其是当打游戏的时候遇到这样的麻烦会让人感觉十分的烦躁,下面教大家如何解决这个问题。 步骤: 1、单击“控制面…

    2023年 10月 8日
  • 计算机系统的基本组成教案,计算机由哪两大系统组成

    计算机系统是由硬件和软件组成,通过运行程序来协调工作。 计算机硬件是物理装置,计算机软件是程序、数据和相关文档的集合。 计算机基本组成 计算机硬件 计算机硬件由五大部件组成,分别是…

    2023年 6月 27日
  • 你们的qq号码是几位数字的啊,qq号码是几位数字

    从小到大,我一直是父母眼中的乖乖女,压力也是有的,那时候特别讨厌上学,写作业。好想快点长大,2000年上学,那时候就有好多同学拿着手机,好生羡慕,我家条件不好,农村种地,虽然父母做…

    互联网 2023年 5月 23日