0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python中运算符介绍

麦辣鸡腿堡 来源:CSDN博客 作者:时间静止不是简史 2023-03-08 17:22 次阅读

1. 逻辑运算符

逻辑运算符总结:

测试代码

a, b, c = 1, 2, 3

print((a 《 b) and (b 《 c))

print((a 》 b) or (a 《 b))

print(not (a 《 b))

2. 比较运算符

所有比较运算符返回 1 表示真,返回 0 表示假。 这分别与特殊变量True 和 False 等价

测试代码

a = 5

if a 《= 30:

print(“a《30”)

if 4 《= a 《= 30:

print(“1《=a《=10”)

if 4 《= a & a 《= 30:

print(“4 《= a & a 《= 30”)

3. 位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如图所示:

测试代码

a = 0b11001

b = 0b01000

print(bin(a | b)) # bin()可以将数字转成二进制表示 ‘0b11001’

print(bin(a & b)) # 与

print(bin(a ^ b)) # 异或

print(3 《《 2) # 左移1位相当于乘以2.左移两位相当于:3*(2*2)

print(20 》》 1) # 右移移位相当于除以2

4. 加法操作, 乘法操作补充

加法操作补充

数字相加 3+2 结果是 5

字符串拼接 “3”+“2” 结果是 “32”

列表、元组等合并 [10,20,30]+[5,10,100] 结果是 [10,20,30,5,10,100]

乘法操作补充

数字相乘 3*2 结果是 6

字符串复制 “abc”*3 结果是 ”abcabcabc”

列表、元组等复制 [10,20,30]*3 结果是 [10,20,30,10,20,30,10,20,30]

5. 增强赋值运算符补充

复合赋值可以让程序更加精炼,提高效率

与 C 和 JAVA 不一样, Python 不支持自增(++)和自减(--)

测试代码

str_a = “Time”

str_b = “Pause”

str_c = “The”

str_d = “WorldWorld”

str_a += “e”

# str_b -= “e”

str_c *= 3

# str_d /= 2

print(str_a) # 加法支持字符串拼接

print(str_b) # 减法不支持字符串裁剪

print(str_c) # 乘法支持字符串拼接

print(str_d) # 除法也不支持字符串操作

a = 1 《《 2

a 《《= 2

print(“1左移2位”, 1 《《 2, “a左移赋值”, a)

注意:

增强赋值运算符左右需要空格, 但组成增强赋值运算符的运算符之间不需要空格

6. 同一运算符

同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个,即比较对象的地址。

== 用于判断引用变量引用对象的值是否相等,默认调用对象__eq__() 方法。

测试代码

a = 2

b = 2

c = 3

print(“a和b是同一个对象”, a is b) # 执行结果:True, is比较的是id, 即对象的引用地址/内存地址

print(“a和c是同一个对象”, a is c) # 执行结果False

print(“a和c不是同一个对象”, a is not c) # 执行结果True

总结

is 比较两个对象的 id 值是否相等,是否指向同一个内存地址

== 比较的是两个对象的内容是否相等,值是否相等

is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is

7.整数缓存问题

命令行模式下,Python仅仅对比较小的整数对象进行缓存(范围为[-5, 256])

语言底层用数组实现,连续分配空间,便于查找 ,而并非是所有整数对象

文件模式下,所有数字都会被缓存,范围是:[-无穷大,+无穷大])

缓存实现:[-5,256]仍然底层用数组实现 ;不在[-5,256]出现的数,缓存到链表中,不连续分配空间

8. 成员运算符

成员运算符测试实例中包含了一系列的成员,包括字符串,列表或元组

测试代码

a = “python”

b = “py”

print(b in a) # True

c = [10, 20, 30]

print(10 not in c) # False

9. 运算符优先级问题

运算符优先级如下图,从高到低依次为:

测试代码

# 测试运算符优先级

a, b, c, d = 20, 10, 15, 5

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)

注意:

实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织

乘除优先加减

位运算和算术运算》比较运算符》赋值运算符》逻辑运算符

10. 基本运算符总结

基本运算符注意包括以下几类:

逻辑运算符 (not , or , and)

比较运算符 ( 》 , 《, =, 》= , 《= )

位运算符( &, | , 》》 , 《《 等 )

增强运算符 ( += , -= , *= , /+ 等 )

同一运算符 ( is , is not )

成员运算符 ( in , not in )

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3614

    浏览量

    93698
  • python
    +关注

    关注

    56

    文章

    4793

    浏览量

    84634
  • 运算符
    +关注

    关注

    0

    文章

    172

    浏览量

    11082
收藏 人收藏

    评论

    相关推荐

    C语言中位运算符的高级用法(2)

    在上一篇文章,我们介绍了&运算符的高级用法,本篇文章,我们将介绍| 运算符的一些高级用法。
    发表于 08-22 10:45 327次阅读
    C语言中位<b class='flag-5'>运算符</b>的高级用法(2)

    C语言中位运算符的高级用法(3)

    在上一篇文章,我们介绍了|运算符的高级用法,本篇文章,我们将介绍^ 运算符的一些高级用法。
    发表于 08-22 10:47 257次阅读
    C语言中位<b class='flag-5'>运算符</b>的高级用法(3)

    C语言运算符的使用方法

    详细介绍了C语言表达式、算术运算符、赋值运算符、关系运算符、条件结构、逻辑运算符、位运算符的语法
    发表于 11-02 11:30 1606次阅读
    C语言<b class='flag-5'>运算符</b>的使用方法

    2.7 python运算符

    2.7 python运算符0. 什么是运算符?本章节主要说明Python运算符。举个简单的例子 4 +5 = 9 。 例子
    发表于 02-21 16:43

    条件运算符是什么_条件运算符有哪些

    运算符优先级高于赋值、逗号运算符,低于其他运算符。关系运算实际上是逻辑比较运算,它是逻辑运算
    发表于 11-16 16:02 1.1w次阅读
    条件<b class='flag-5'>运算符</b>是什么_条件<b class='flag-5'>运算符</b>有哪些

    单目运算符是什么_单目运算符有哪些

    单目运算符是指运算所需变量为一个的运算符,又叫一元运算符,其中有逻辑非运算符:!、按位取反运算符
    的头像 发表于 02-24 15:42 6.1w次阅读
    单目<b class='flag-5'>运算符</b>是什么_单目<b class='flag-5'>运算符</b>有哪些

    浅析MySQL的各类运算符

    MySQL支持多种运算符,我们在写SQL脚本时经常会需要用到各种各样的运算符,这些运算符可以用来连接表达式,进而从数据库查询我们需要的结果集等。这些类型主要包括算术
    的头像 发表于 05-03 17:41 2052次阅读
    浅析MySQL<b class='flag-5'>中</b>的各类<b class='flag-5'>运算符</b>

    python运算符是什么

    python运算符 0. 什么是运算符? 本章节主要说明Python运算符。举个简单的例子 4 +5 = 9 。 例子
    的头像 发表于 02-21 16:44 2378次阅读

    什么是移位运算符

    移位运算符将向量的位向右或向左移位指定的次数。SystemVerilog具有按位和算术移位运算符
    的头像 发表于 02-09 15:49 1831次阅读
    什么是移位<b class='flag-5'>运算符</b>

    C语言的运算符

    在C语言中,我们常常会用到表达式,在使用表达式的过程便会使用到运算符。C语言中,不同的运算符拥有不同的优先级和结合性。在执行运算的过程
    的头像 发表于 02-21 15:12 1189次阅读
    C语言的<b class='flag-5'>运算符</b>

    Python中常见的条件运算符有哪些

    x not in y x不是y容器的成员 在Python,比较运算和赋值运算是可以连接的——几个运算符可以连在一起使用,比如:0 有些
    的头像 发表于 09-12 16:47 1871次阅读

    python运算符优先级顺序口诀

    将详细介绍Python运算符的优先级顺序以及如何正确使用它们。 首先,让我们从最高优先级的运算符开始,逐步向下解释。在Python
    的头像 发表于 11-22 14:34 2560次阅读

    python关系运算符有哪些

    Python的关系运算符主要包括以下几种: 等于(==):用于判断两个操作数是否相等。如果相等,则返回True;否则返回False。 不等于(!=):用于判断两个操作数是否不相等。如果不相等,则
    的头像 发表于 11-22 14:36 2557次阅读

    python运算符的优先级大小

    Python运算符的优先级决定了表达式各个运算符的计算顺序。了解运算符的优先级对于正确理解和
    的头像 发表于 11-29 16:21 3393次阅读

    逻辑异或运算符Python的用法

    Python的 ^ 符号实际上是一个按位异或运算符,用于对整数的二进制表示进行异或操作。 尽管如此,我们仍然可以通过一些方法来实现逻辑异或的功能,即当两个布尔值不同时为真,相同时为假。这可以通过使用逻辑
    的头像 发表于 11-19 09:46 165次阅读