【Python零基础到入门】Python基础语法篇——运算符 学习

请添加图片描述

? 前言


?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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>