Python 简明教程 --- 5,Python 表达式与运算符

微信公众号:码农充电站pro
个人主页:https://codeshellme.github.io

靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度。
—— Bill Gates

目录

在这里插入图片描述

1,什么是表达式

表达式是代码的重要组成部分,一个表达式由运算符操作数两部分组成。

一个表达式就描述了对哪些数据,进行了什么样的操作

如下就是一个表达式:

sum = 1 + 2

其中,=+ 都是运算符,=是赋值运算符,+ 是相加运算符,sum12 都是操作数。

这句话的含义是,将12 相加,并将它们的结果赋值给变量sum

2,运算符

Python 中包含丰富的运算符,支持各种运算。如下:

  • 算术运算符
  • 位运算符
  • 关系运算符
  • 赋值运算符
  • 逻辑运算符

下面对这些运算符逐一进行介绍。

3,算术运算符
运算符含义
+
-
*
/
//除,向下取整
%取余
**幂运算

示例:

>>> a = 20
>>> b = 7
>>> 
>>> a + b
27
>>> a - b
13
>>> a * b
140
>>> a / b
2.857142857142857
>>> a // b
2
>>> a % b
6
>>> a ** b
1280000000
4,位运算符

进行位运算时,会先将数字转换成二进制,然后再做位运算。

运算符含义
&按位与
|按位或
^按位异或
~按位取反
<<左移
>>右移

示例:

>>> a = 20
>>> b = 7
>>> a & b
4
>>> a | b
23
>>> a ^ b
19
>>> ~a		 # a 按位取反
-21
>>> ~b       # b 按位取反
-8
>>> a << 3   # a 左移3 位
160
>>> b >> 2   # b 右移2 位
1
5,关系运算符

关系运算符又叫比较运算符,其计算结果为TrueFalse

运算符含义
==是否相等
!=是否不等
>是否大于
<是否小于
>=是否大于等于
<=是否小于等于

示例:

>>> a = 20
>>> b = 7
>>> a == b
False
>>> a != b
True
>>> a > b
True
>>> a < b
False
>>> a >= b
True
>>> a <= b
False
6,赋值运算符

等号= 是最基本的赋值运算符,= 右边的值称为右值= 左边的值称为左值

赋值运算符= 的含义是将右值赋值给左值

例如下面代码,a 为左值,b 为右值,这行代码的含义是,将b 的值赋值给a

a = b

下面这些赋值运算符,都是在赋值运算符=算术运算符的基础上衍生出来的,是一种简写形式:

运算符示例
+=a += b 相当于 a = a + b
-=a -= b 相当于 a = a - b
*=a *= b 相当于 a = a * b
/=a /= b 相当于 a = a / b
//=a //= b 相当于 a = a // b
%=a %= b 相当于 a = a % b
**=a **= b 相当于 a = a ** b
7,逻辑运算符
运算符含义
and逻辑与
or逻辑或
not逻辑非

示例:

>>> a = True
>>> b = False
>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not b
True

在数字中,非0 为真,0 为假:

>>> not 0   #  0 为 False,not 0 为 True
True
>>> not 1   #  1 为 True,not 1 为 False
False
>>> not 2   #  2 为 True,not 2 为 False
False
>>> not -1  # -1 为 True,not -1 为 False
False
>>> not -2  # -2 为 True,not -2 为 False
False

其实,True 就是 1False 就是 0

>>> True.real
1
>>> False.real
0
>>> True == 1
True
>>> False == 0
True

在字符串中,非空字符串为真,空字符串为假:

>>> not ''    # '' 为 False,not '' 为 True
True
>>> not 'abc' # 'abc' 为 True,not 'abc' 为 False
False
8,运算符的优先级

运算符有优先级之分,表达式在计算的时候,会先计算优先级较高的,处于同一优先级时,会从左到右计算。

如下表达式,该表达式会先计算2 * 3 结果是6,再计算1 + 6,结果是 7

>>> 1 + 2 * 3
7

之所以会先计算 2 * 3,就是因为* 的优先级高于+ 的优先级。

小括号()的优先级高于我们上面介绍到的所有运算符的优先级,如果想改变计算顺序,可以使用小括号()

如下表达式,则会先计算1 + 2 结果为3,再计算3 * 3,结果为9

>>> (1 + 2) * 3
9

下表汇总了上文中介绍到的所有运算符的优先级,从高到低排序,同一行(用,分隔)中的运算符具有相同优先级:

运算符含义
()小括号内的表达式优先级最高
**幂运算
~x,+x,-x按位取反,正号,负号
*,/,%,//乘,除,取余,整除
+,-加,减
<<,>>左移,右移
&按位与
^,|按位异或,按位或
>,<,>=,<=比较运算
==,!=等于运算
=,+=,-=,*=,/=,%=,//=,**=赋值运算
not,and,or逻辑运算

建议:推荐使用小括号() 来显示表达式的计算顺序,而不依赖运算符本身的优先级,这样一目了然,方便维护。

(完。)


推荐阅读:

Python 简明教程 — 0,前言
Python 简明教程 — 1,搭建Python 环境
Python 简明教程 — 2,第一个Python 程序
Python 简明教程 — 3,Python 基础概念
Python 简明教程 — 4,Python 变量与基本数据类型


欢迎关注作者公众号,获取更多技术干货。

码农充电站pro

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值