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

Posted 呆呆敲代码的小Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python零基础到入门Python基础语法篇——运算符 学习相关的知识,希望对你有一定的参考价值。

📢 前言


👑Python基础语法篇——运算符

运算符在每种编程语言中都存在,Python中自然也不列外

那本篇文章就来讲一下Python中的一些运算符的含义和使用练习

Python 语言以下类型的运算符:

  • 算术运算符
  • 赋值运算符
  • 比较(关系)运算符
  • 逻辑运算符
  • 位运算符
  • 三目运算符
  • 运算符优先级

下面我们就来挨个看一下他们的含义和使用方法!


🏳️‍🌈算术运算符

算术运算符就是我们平时说的加减乘除等等最常见的运算符

在Python中的算术运算符有以下几种:

运算符说明实例结果
+12.45 + 6779.45
-11.11 - 1.0110.01
*3*515
/除法(和数学中的规则一样)5/22.5
//整除(只保留商的整数部分)5//22
%取余,即返回除法的余数5%21
**幂运算/次方运算,即返回 x 的 y 次方2 ** 101024

下面看看在示例代码中算术运算符的使用:

#!/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 = yx = y
+=加赋值x += yx = x + y
-=减赋值x -= yx = x - y
*=乘赋值x *= yx = x * y
/=除赋值x /= yx = x / y
%=取余数赋值x %= yx = x % y
**=幂赋值x **= yx = x ** y
//=取整数赋值x //= yx = x // y
&=按位与赋值x &= yx = x & y
=按位或赋值x
^=按位异或赋值x ^= yx = x ^ y
<<=左移赋值x <<= yx = x << y,这里的 y 指的是左移的位数
>>=右移赋值x >>= yx = 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.attribute17
乘方**16
按位取反~15
符号运算符+(正号)、-(负号)14
乘除*、/、//、%13
加减+、-12
位移>>、<<11
按位与&10
按位异或^9
按位或I8
比较运算符==、!=、>、>=、<、<=7
is 运算符is、is not6
in 运算符in、not in5
逻辑非not4
逻辑与and3
逻辑或or2
逗号运算符exp1, exp21

🍕总结

  • 本篇文章对Python的运算符做了一个系统的描述,结合实例讲解
  • 讲的不是很深入,适合初学者
  • 运算符也是编程语言中很重要的一个知识点,记得要全部学会哦!

👑下期送书 书籍推荐

最后在评论区进行抽取三名幸运的小伙伴送下面这本书籍

  • 搞到了一些Python相关的书籍,在这里搞个小活动抽奖送给大家,对看书感兴趣的小伙伴可以参加一波呀,刚开始可能参与的不多,抽中概率很大哦!

  • 《Python 3.x网络爬虫从零基础到项目实战》

  • 一本非常经典的Python编程名著,用于Python开发使用效果卓佳!

  • 尤其是想从事Python爬虫的小伙伴,这本书就可以让你了解相关知识,对症下药可以极大地提高学习效率!

🎄推荐理由(⭐⭐⭐⭐⭐)

  • 本书中的案例大多是由真实项目简化而来的,既体现了所述知识点的精华,又屏蔽了无关技术的干扰。
  • 此外,本书在案例讲解时,也充分考量了相关知识的各种实际应用场景,将同一个技术在多个场景下的不同角色都做了充分的讲解。
  • 文字通俗易懂。本书的作者不仅有着多年的开发经验,还承担过多年的技术讲师及教学管理工作,非常擅长用清晰易懂的文字阐述各种难点技术。

书本图片如下,喜欢的小伙伴参与起来!下周送三本这个,也可以自行购买哦~

京东自营链接


本次活动中奖名单公布:小小明-代码实体、Lucifer三思而后行、A little strawberry

以上是关于Python零基础到入门Python基础语法篇——运算符 学习的主要内容,如果未能解决你的问题,请参考以下文章

Python零基础到入门Python基础语法篇——基本数据类型文末送书

Python零基础到入门Python基础语法篇——基本数据类型文末送书

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

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

Python零基础到入门Python基础语法篇——数字(Number) 学习 文末送书

Python零基础到入门Python基础语法篇——数字(Number) 学习 文末送书