目录
- 📢 前言
- 👑Python基础语法篇——运算符
- 🏳️🌈算术运算符
- 🏳️🌈赋值运算符
- 🏳️🌈比较运算符
- 🏳️🌈位运算符
- 🏳️🌈逻辑运算符
- 🏳️🌈三目运算符
- 🏳️🌈运算符优先级
- 🍕总结
- 👑下期送书 书籍推荐
- 🎄推荐理由(⭐⭐⭐⭐⭐)
📢 前言
-
本文章是【
Python零基础到入门专栏
】学习的系列文章 -
Python专栏 传送门 在此:https://blog.csdn.net/zhangay1998/category_11086734.html
-
本篇文章来说一下Python 运算符,也是Python之路上一个必备的操作~
-
提示:本文的环境配置是
Python3
的开发环境,后续教程也都是Python3
👑Python基础语法篇——运算符
运算符在每种编程语言中都存在,Python中自然也不列外
那本篇文章就来讲一下Python中的一些运算符的含义和使用练习
Python 语言以下类型的运算符:
- 算术运算符
- 赋值运算符
- 比较(关系)运算符
- 逻辑运算符
- 位运算符
- 三目运算符
- 运算符优先级
下面我们就来挨个看一下他们的含义和使用方法!
🏳️🌈算术运算符
算术运算符就是我们平时说的加减乘除等等最常见的运算符
在Python中的算术运算符有以下几种:
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 12.45 + 67 | 79.45 |
- | 减 | 11.11 - 1.01 | 10.01 |
* | 乘 | 3*5 | 15 |
/ | 除法(和数学中的规则一样) | 5/2 | 2.5 |
// | 整除(只保留商的整数部分) | 5//2 | 2 |
% | 取余,即返回除法的余数 | 5%2 | 1 |
** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 10 | 1024 |
下面看看在示例代码中算术运算符的使用:
#!/usr/bin/python3
a = 21
b = 10
c = 0
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)
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print ("6 - c 的值为:", c)
a = 10
b = 5
c = a//b
print ("7 - c 的值为:", c)
输出结果:
1 - c 的值为: 31
2 - c 的值为: 11
3 - c 的值为: 210
4 - c 的值为: 2.1
5 - c 的值为: 1
6 - c 的值为: 8
7 - c 的值为: 2
🏳️🌈赋值运算符
说完了算数运算符再来看看赋值运算符,也是非常常用的一种
-
赋值运算符
用来把右侧的值传递给左侧的变量(或者常量); -
可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。
-
Python 中最基本的赋值运算符是等号=;
-
结合其它运算符,=还能扩展出更强大的赋值运算符。
=
是 Python 中最常见、最基本的赋值运算符,用来将一个表达式的值赋给另一个变量,请看下面的例子:
#将字面量(直接量)赋值给变量
n1 = 100
f1 = 47.5
s1 = "http://c.biancheng.net/python/"
#将一个变量的值赋给另一个变量
n2 = n1
f2 = f1
#将某些运算的值赋给变量
sum1 = 25 + 46
sum2 = n1 % 6
s2 = str(1234) #将数字转换成字符串
s3 = str(100) + "abc"
还可以使用连续赋值,如果将赋值表达式的值再赋值给另外一个变量,这就构成了连续赋值
参考下面这个示例
a = b = c = 100
- 先将 100 赋值给 c,所以 c 的值是 100
- b = c = 100 表示将 c = 100 的值赋给 b,因此 b 的值也是 100。
- 以此类推,a 的值也是 100。
=
还可与其他运算符(包括算术运算符、位运算符和逻辑运算符)相结合,扩展成为功能更加强大的赋值运算符
下面可以查看组合的运算符用法
运算符 | 说 明 | 用法举例 | 等价形式 |
---|---|---|---|
= | 最基本的赋值运算 | x = y | x = y |
+= | 加赋值 | x += y | x = x + y |
-= | 减赋值 | x -= y | x = x - y |
*= | 乘赋值 | x *= y | x = x * y |
/= | 除赋值 | x /= y | x = x / y |
%= | 取余数赋值 | x %= y | x = x % y |
**= | 幂赋值 | x **= y | x = x ** y |
//= | 取整数赋值 | x //= y | x = x // y |
&= | 按位与赋值 | x &= y | x = x & y |
= | 按位或赋值 | x | |
^= | 按位异或赋值 | x ^= y | x = x ^ y |
<<= | 左移赋值 | x <<= y | x = x << y,这里的 y 指的是左移的位数 |
>>= | 右移赋值 | x >>= y | x = x >> y,这里的 y 指的是右移的位数 |
来看一个简单的例子
a = 100
b = 25.5
a -= 80 #等价于 a=a-80
b *= a - 10 #等价于 b=b*( a - 10 )
print("a=%d" % n1)
print("b=%.2f" % f1)
上述代码输出结果为:
n1=20
f1=255.00
🏳️🌈比较运算符
比较运算符,也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。
如果这种比较是成立的,则返回 True(真),反之则返回 False(假)。
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 True |
> | 大于 - 返回x是否大于y | (a > b) 返回 False |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写 | (a < b) 返回 True |
>= | 大于等于 - 返回x是否大于等于y | (a >= b) 返回 False |
<= | 小于等于 - 返回x是否小于等于y | (a <= b) 返回 True |
!= | 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False | (a != b) 返回 True |
is | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False | (a is b) 返回 False |
is not | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False | (a is not b) 返回 True |
比较运算符的使用举例:
print("89是否大于100:", 89 > 100)
print("24*5是否大于等于76:", 24*5 >= 76)
print("86.5是否等于86.5:", 86.5 == 86.5)
print("34是否等于34.0:", 34 == 34.0)
print("False是否小于True:", False < True)
print("True是否等于True:", True < True)
上述代码输出结果为:
89是否大于100: False
24*5是否大于等于76: True
86.5是否等于86.5: True
34是否等于34.0: True
False是否小于True: True
True是否等于True: False
🏳️🌈位运算符
按位运算符是把数字看作二进制来进行计算的。
众所周知,我们的计算机都是基于二进制进行计算的,也就是0和1
我们平时的数字(十进制)都是可以转换成二进制的,例子如下:
假设我们现在有两个数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
具体的用法可以参考下表:
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
I | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a I b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位, | ">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
实例演示如下:
#!/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
🏳️🌈逻辑运算符
逻辑运算符
就是我们通常说的'与' '或' '非'
,Python中也支持逻辑运算符
逻辑运算符 | 含义 | 基本格式 | 说明 |
---|---|---|---|
and | 逻辑与运算,等价于数学中的“且” | a and b | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 |
or | 逻辑或运算,等价于数学中的“或” | a or b | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 |
not | 逻辑非运算,等价于数学中的“非” | not a | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 |
逻辑运算符一般和关系运算符结合使用,例如:
age = int(input("请输入年龄:"))
height = int(input("请输入身高:"))
if age>=18 and age<=30 and height >=170 and height <= 185 :
print("恭喜,你符合报考飞行员的条件")
else:
print("抱歉,你不符合报考飞行员的条件")
可能的运行结果:
请输入年龄:22↙
请输入身高:180↙
恭喜,你符合报考飞行员的条件
🏳️🌈三目运算符
三目运算符
在其它编程语言中有? :
的写法,但是在Python中并没有使用该运算符,则是直接使用 if else
关键字来实现相同的功能。示例如下:
普通写法:
if a>b:
max = a;
else:
max = b;
三目运算符写法:
max = a if a>b else b
上述代码解释:
- 如果 a>b 成立,就把 a 作为整个表达式的值,并赋给变量 max;
- 如果 a> b 不成立,就把 b 作为整个表达式的值,并赋给变量 max。
还可以嵌套使用
a if a>b else c if c>d else d
🏳️🌈运算符优先级
所谓优先级
,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。
以下表格列出了从最高到最低优先级的所有运算符:
运算符说明 | Python运算符 | 优先级 | 结合性 | 优先级顺序 |
---|---|---|---|---|
小括号 | ( ) | 19 | 无 | 高 |
索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 | 左 | |
属性访问 | x.attribute | 17 | 左 | |
乘方 | ** | 16 | 右 | |
按位取反 | ~ | 15 | 右 | |
符号运算符 | +(正号)、-(负号) | 14 | 右 | |
乘除 | *、/、//、% | 13 | 左 | |
加减 | +、- | 12 | 左 | |
位移 | >>、<< | 11 | 左 | |
按位与 | & | 10 | 右 | |
按位异或 | ^ | 9 | 左 | |
按位或 | I | 8 | 左 | |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 | |
is 运算符 | is、is not | 6 | 左 | |
in 运算符 | in、not in | 5 | 左 | |
逻辑非 | not | 4 | 右 | |
逻辑与 | and | 3 | 左 | |
逻辑或 | or | 2 | 左 | |
逗号运算符 | exp1, exp2 | 1 | 左 | 低 |
🍕总结
- 本篇文章对Python的运算符做了一个系统的描述,结合实例讲解
- 讲的不是很深入,适合初学者
- 运算符也是编程语言中很重要的一个知识点,记得要全部学会哦!
👑下期送书 书籍推荐
最后在评论区进行抽取三名幸运的小伙伴
送下面这本书籍
-
搞到了一些Python相关的书籍,在这里搞个小活动抽奖送给大家,对看书感兴趣的小伙伴可以参加一波呀,刚开始可能参与的不多,抽中概率很大哦!
-
《Python 3.x网络爬虫从零基础到项目实战》
-
一本非常经典的Python编程名著,用于Python开发使用效果卓佳!
-
尤其是想从事Python爬虫的小伙伴,这本书就可以让你了解相关知识,对症下药可以极大地提高学习效率!
🎄推荐理由(⭐⭐⭐⭐⭐)
- 本书中的案例大多是由真实项目简化而来的,既体现了所述知识点的精华,又屏蔽了无关技术的干扰。
- 此外,本书在案例讲解时,也充分考量了相关知识的各种实际应用场景,将同一个技术在多个场景下的不同角色都做了充分的讲解。
- 文字通俗易懂。本书的作者不仅有着多年的开发经验,还承担过多年的技术讲师及教学管理工作,非常擅长用清晰易懂的文字阐述各种难点技术。
书本图片如下,喜欢的小伙伴参与起来!下周送三本这个,也可以自行购买哦~
京东自营链接
本次活动中奖名单公布:小小明-代码实体、Lucifer三思而后行、A little strawberry