【Python】玩转 Python 表达式:探索赋值、位运算符到成员运算符的奥秘

欢迎来CILMY23的博客

本篇主题为 玩转 Python 表达式:探索赋值、位运算符到成员运算符的奥秘

个人主页:CILMY23-CSDN博客

Python系列专栏:http://t.csdnimg.cn/HqYo8

上一篇博客: 字符串处理技巧大揭秘:从基础到高级

C语言专栏:http://t.csdnimg.cn/hQ5a9

感谢观看,支持的可以给个一键三连,点赞关注+收藏。


本文目录

 一、什么是运算符?

二、算术运算符

2.1 算术运算符概念 

2.2 算术运算符及表达式

三、赋值运算符

3.1 赋值运算符概念

3.2 赋值运算符及其表达式

四、逻辑运算符

4.1 逻辑运算符的概念

4.2 逻辑运算符及逻辑表达式

五、关系运算符

5.1 关系运算符概念

5.2 关系运算符及表达式

六、成员运算符

6.1 成员运算符概念 

6.2 成员运算符及其表达式 

七、身份运算符

7.1 身份运算符概念

7.2  身份运算符及其表达式

7.3 身份运算符与关系运算符的区别

八、位运算符

8.1 位运算符的概念

8.2 位运算符及其表达式

8.3 利用位运算符实现一个简易的加密器 

九、运算符优先级

十、补充说明


本文前言

继上次我们深入了解字符串的处理后,本期我们将了解python中的运算符以及各种运算符对应的表达式,在后面的学习我们会经常用到运算符


 一、什么是运算符?

运算符是代表一定运算功能的符号,可以对常量、变量等进行处理。Python支持的运算符有算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符。由各种运算符和运算对象组成的式子称为表达式。

二、算术运算符

2.1 算术运算符概念 

算术是数学中的一个基本概念,涉及对数字进行基本的数学运算,如加法、减法、乘法、除法等。在计算机编程中,算术通常指的是对数字进行各种数学运算的过程。

2.2 算术运算符及表达式

运算符名称例子结果(a=3,b=4)
+a+b7
-a-b-1
*a*b12
/a/b0.75
%取模a%b3
**a ** b81
//整除a // b0

 算术运算符两边的操作数一般位整型或浮点型,特殊情况下也可以是布尔类型或复数类型,当参与算术运算的两个操作数是整型或浮点型时,其运算结果类型也是整型或浮点型。

例:求自然数268的逆序数并输出

解:

num = 268
n1 = num//100
n2 = num//10 % 10
n3 = num % 10
result = n3 * 100 + n2 * 10 + n1
print(f"原自然数:{num}\t",f"逆序自然数:{result}")

结果如下:

三、赋值运算符

3.1 赋值运算符概念

 赋值运算符用来将表达式结果赋给变量。由赋值运算符与赋值运算对象组成的式子称为赋值运算表达式。

3.2 赋值运算符及其表达式

 常用赋值运算符如下所示:

运算符名称例子表达式结果(a=4,b=3,c=2)
=简单赋值运算符c = a + bc=7
+=加法赋值运算符

c += a 等价于 c = c + a

c=6
-=减法赋值运算符

c -= a 等价于 c = c - a

c=-2
*=乘法赋值运算符

c *= a 等价于 c = c * a

c=8
/=除法赋值运算符

c /= a 等价于 c = c / a

c=0.5
%=取模赋值运算符

c %= a 等价于 c = c % a

c=2
**=幂赋值运算符

c **= a 等价于 c = c ** a

c=16
//=取整除赋值运算符

c //= a 等价于 c = c // a

c=0

四、逻辑运算符

4.1 逻辑运算符的概念

逻辑运算符用来判断逻辑运算对象之间的关系。由逻辑运算符和逻辑运算对象组成的式子称为逻辑运算表达式。

4.2 逻辑运算符及逻辑表达式

常用逻辑运算符如下:

运算符名称逻辑表达式描述
and逻辑“与”x and yx为True或非0,返回y;否则返回x
or逻辑“或”x or yx为True或非0,返回x;否则返回y
not逻辑“非”not xx为True或非0,返回False;否则返回True

五、关系运算符

5.1 关系运算符概念

 关系运算符用来比较两个对象之间的关系,对象可以是数或字符串等常量、变量或表达式。由关系运算符与比较对象组成的表达式称为关系运算表达式。关系表达式的结果为真返回True,否则返回False

5.2 关系运算符及表达式

 常用关系运算符如下:

运算符描述例子表达式结果(a=20,b=30)
==等于a == bFalse
!=不等于a != bTrue
>大于a > bFalse
<小于a < bTrue
>=大于等于a >= bFalse
<=小于等于a <= bTrue

关系运算符的使用:

# 五、 关系运算符及其表达式
Bool = 3 > 1 > 2
# 等价于 3 > 1 and 1 > 2  
print(Bool)

六、成员运算符

6.1 成员运算符概念 

 成员运算符用来判断两个对象之间的关系。由成员运算符与成员运算对象组成的式子称为成员运算表达式

6.2 成员运算符及其表达式 

序列其实就是我们说的组合类型,Python 序列(Sequence)是指按特定顺序依次排列的一组数据,它们可以占用一块连续的内存,也可以分散到多块内存中。Python 中的序列类型包括字符串、列表(list)、元组(tuple)、字典(dict)和集合(set)。 

常用成员运算符:

运算符描述实例结果
in判断对象是否在序列中obj in sequenceobj在 sequence 中返回 True,否则返回 False
not in 判断是否对象不在序列中obj not in sequenceobj 不在 sequence 中返回 True,否则返回False

 例如:判断字串是否在字符串内

# 六、 成员运算符
str1 = "hello"
str2 = "hello world"
if str1 in str2:
    print("str1 in str2")
else:
    print("str1 not in str2")

结果如下:

七、身份运算符

7.1 身份运算符概念

 身份运算符用来比较两个对象之间的存储单元,由身份运算符与身份运算对象组成的式子称为身份运算表达式。

7.2  身份运算符及其表达式

 常用身份运算符:

运算符描述实例结果
is判断两个标识符是否引用同一个对象x is y引用同一个对象返回True,否则返回False
is not判断两个标识符是不是引用自不同对象x is not y引用同一个对象返回True,否则返回False

7.3 身份运算符与关系运算符的区别

 is 和 == 的区别在哪里呢?

其实is比较的是两个内存的存储单元是否一致,在我们创建变量的时候,会在内存中开辟空间,而a==b关系运算符仅仅是用来比较对象a和对象b的值是否相等,a is b 比较对象a和对象b的id(用来获取内存单元地址)是否相等。

八、位运算符

8.1 位运算符的概念

 位运算符用来把两个运算对象按照二进制进行位运算。由位运算符与位运算对象组成的式子称为位运算表达式,可以了解一下C语言中的整型存储

【C语言】数据存储篇,内存中的数据存储----C语言整型,浮点数的数据在内存中的存储以及大小端字节序【图文详解】-CSDN博客

8.2 位运算符及其表达式

 常用位运算符如下:

运算符名称实例表达式结果(a = 60,b =13)
&按位与a & b12 (0000 1100)
|按位或a | b61 (0011 1101)
^按位异或a ^ b49 (0011 0001)
~按位取反~a-61(1100 0011)
<<左移位a << 2240 (1111 0000)
>>右移位a >> 215 (0000 1111)

8.3 利用位运算符实现一个简易的加密器 

 使用 ‘^’运算符对字符加密和解密

其实利用的是异或同一个数两次就跟原数是没区别的

# 八、 位运算符
key = input("请输入要加密的密钥:")
enc = input("请输入要加密的字符:")
dec = ord(key) ^ ord(enc)
print("加密结果:", chr(dec))
enc = ord(key) ^ dec
print("解密结果:", chr(enc))

结果如下:

九、运算符优先级

 Python中的运算符优先级决定了在没有括号的情况下,表达式中各个部分如何组合。

等级运算符名称
1(),[],{}括号
2**幂运算
3~,+,-按位取反,一元加号和减号
4*,/,%,//乘,除,取模和取整除
5+,-

加法,减法

6>>,<<右移,左移运算符
7&位与
8^,|异或,位或
9<,<=,>,>=比较运算符
10==,!=

等于、不等于运算符

11=,%=,/=,//=,-=,+=,*=,**=赋值运算符
12is , is not身份运算符
13in, not in成员运算符
14not , and ,or逻辑运算符

注意,当运算符优先级相同时,会按照从左到右的顺序进行运算,这被称为"左结合性"。例如,在表达式 a - b + c 中,尽管减法和加法具有相同的优先级,但会首先执行 a - b,然后再加上 c

十、补充说明

(1)Python 中的一些运算符不仅可用于数字等运算,还可以用于对字符串、列表和元组等序列运算

(2)Python支持++i,--i运算符,但含义和其他语言中的不同

(3)不支持i++,i--运算符 

例如:

# 十、补充说明
i = 5
print(++i) # +(+i)
print(--i) # -(-i)
print(i--3) # 5-(-3)

 结果如下:


感谢各位同伴的支持,本期python就讲解到这啦,如果你觉得写的不错的话,可以给个一键三连,点赞,关注+收藏,若有不足,欢迎各位在评论区讨论。        

  • 42
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值