概述
本章节主要介绍运算符和表达式,大家先看一个例子:3+6是一个表达式,其中3和6都是操作数,"+" 是运算符
运算符
该小节我们主要学习算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、以及运算符优先级,后面学完数组等数据类型后再介绍成员运算符。位运算符和身份运算符大家平时工作很少会用,本教程不再介绍
算术运算符
我们设置变量a=7, b=2,你也可以将a和b设置为你想尝试的其他数
,算术运算符作用于两个数值,返回结果也是一个数值,如下表所示:
运算符 | 作用 | 代码举例 |
---|---|---|
+ | 对两个数做加法 | print(a+b) |
- | 对两个数做减法 | print(a-b) |
* | 对两个数做乘法 | print(a*b) |
/ | 对两个数做除法 | print(a/b) |
// | a // b 计算a除以b结果的整数部分 | print(a // b) |
% | a %b 计算a除以b的余数 | print(a%b) |
** | a ** b计算a的b次方 | print(a ** b) |
实践:定义两个变量, a=7, b=3, 然后按表1说明,尝试每种算术运算符的结果
提示1:进入Python交互模式
提示2:按表1第三列语句,尝试打印各运算符对应的结果
比较(关系)运算符
我们设置变量a=7, b=2,你也可以将a和b设置为你想尝试的其他数
。
比较运算符作用于两个数值,返回结果是一个布尔值(我们上节讲到过布尔值,只有True、False两种值)。比较运算符如下表所示:
运算符 | 作用 | 代码举例 |
---|---|---|
== | 判断两个对象是否相等 | print(a == b) |
!= | 判断两个对象是否不相等 | print(a != b) |
> | 判断a是否大于b | print(a > b) |
< | 判断a是否x小于b | print(a < b) |
>= | 判断a是否大于等于b | print(a >= b) |
<= | 判断a是否小于等于b | print(a <= b) |
实践:定义两个变量,a=7,b=3,按表2第三列语句,尝试打印各运算符对应的结果
赋值运算符
我们设置变量a=7, b=2,你也可以将a和b设置为你想尝试的其他数
。
赋值运算符用于对变量直接赋值,或者更新变量的值,如下表所示:
运算符 | 作用 | 代码举例 |
---|---|---|
= | 给变量c赋值,执行后c的值是a+b | c = a + b |
+= | 给变量c赋值,执行c=c+a | c += a |
-= | 给变量c赋值,执行后c=c-a | c -= a |
*= | 给变量c赋值,执行后c=c*a | c *= a |
/= | 给变量c赋值,执行后c=c/a | c /= a |
%= | 给变量c赋值,执行后c=c%a | c %= a |
**= | 给变量c赋值,执行后c=c ** a | c **= a |
//= | 给变量c赋值,执行后c=c // a | c //= a |
实践:定义两个变量, a=7, b=3, 然后按表3说明,尝试每种赋值运算符的结果
对表三的每个赋值运算符,都按如下三个提示执行下程序:
提示1:执行表3第三列语句前,先给变量赋值,比如 c = 2,打印c的结果print(c)
提示2:执行表3第三列语句,对c赋值
提示3:打印c的结果print(c),看看执行赋值后c的变化
逻辑运算符
我们设置变量a=True, b=False,你也可以将a和b设置为你其他布尔值(a,b都可以赋值为True或False)
。
逻辑运算符的操作数是布尔值,操作结果也是布尔值,如下表所示:
运算符 | 作用 | 代码举例 |
---|---|---|
and | 做 “与” 运算,a和b都是True,返回True; 否则返回False | print(a and b) |
or | 做 “或” 运算,a或b是True,返回True; 否则返回False | print(a or b) |
not | 做 “非” 运算,a为True,返回False; 否则返回True | print(not a) |
实践:尝试对a和b赋不同的值,推测每种逻辑运算的结果,并通过程序验证推测结果是否正确
提示:a=True, b=True, 执行表3第三列语句检查每种逻辑运算结果
提示:a=True, b=False, 执行表3第三列语句检查每种逻辑运算结果
提示:a=False, b=True, 执行表3第三列语句检查每种逻辑运算结果
提示:a=False, b=False, 执行表3第三列语句检查每种逻辑运算结果
运算符优先级
运算符优先级如 表5 所示。大家不需要去记,如果在看别人程序,当不知道运算符优先级时,直接网上查就行。在写程序时,只需要按如下3个原则:
-
第一原则:括号括起来的优先级最高,不清楚优先级就使用括号
比如表达式(3+5)*2
,虽然*
优先级高于+
,但由于前面3+5
有括号,所以,依然要先计算3+5=8
, 然后将结果8
和2
相乘,最终结果是16
。实践:对于表达式
(3+5)*(4-2)/(6+2)
,结果是什么呢?通过程序验证下自己推测是否正确
提示:括号优先级最高
-
第二原则:乘除法优先级高于加减法
比如1+2*4
,需要先计算乘法2*4=8
, 然后再计算1+8 = 9
。实践:对于表达式
2+16/2
,结果是什么呢?通过程序验证下自己推测是否正确
提示:乘除法优先级高于加减法
-
第三原则:更靠左的符号优先级更高;
比如2*10/2
的先计算2*10=20
,然后计算20/2=10
;2+6-1
先计算2+6=8
,然后计算8-1=7
。
实践:对于表达式2+5-1+6+9
,结果是什么呢?通过程序验证下自己推测是否正确
提示:更靠左的符号优先级更高
学习上面三个原则后,我们来做两个综合性的实践任务咯!
综合实践1: 对表达式 3+5-82/(4-2)+1-22,你能推测结果是多少吗?用程序验证你的推测是否正确
提示: 按照上面三个原则,优先第一原则,其次第二原则,最后第三原则
综合实践2:假设A、B、C三个运动员参加了奥运会,A获2枚金牌,B获金牌数量是A的3倍,C获金牌数量是B的2倍,请你用程序算一下,三个运动员一共获得多少金牌?:
提示1: 先写出表达式,然后用执行程序得到结果
提示2: 构造表达式思路:A获2枚金牌,B获金牌 2*3, C获金牌 2*3*2,三个人金牌数加起来2+2*3+2*3*2
优先级 | 运算符 | 作用 |
---|---|---|
1 | ** | 指数运算 |
2 | *,/, %, //, | 乘,除,取模和取整除 |
3 | +, - | 加法减法 |
4 | <=, <, >, >= | 部分比较运算符 |
5 | <>, == , != | 部分比较运算符 |
6 | =, %=, /=, //=, -=, += ,*=, **= | 赋值运算符 |
7 | in, not in | 成员运算符 |
8 | and, or, not | 逻辑运算符 |
最后
以上就是明理饼干为你收集整理的7. 运算符和表达式运算符的全部内容,希望文章能够帮你解决7. 运算符和表达式运算符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复