网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

Python中运算符介绍

时间:2023-03-08 17:22

人气:

作者:admin

标签:

导读:  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. 逻辑运算符

逻辑运算符总结:

测试代码

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 )

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信