我是靠谱客的博主 明理饼干,最近开发中收集的这篇文章主要介绍7. 运算符和表达式运算符,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本章节主要介绍运算符和表达式,大家先看一个例子: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)
表1:算术运算符

实践:定义两个变量, a=7, b=3, 然后按表1说明,尝试每种算术运算符的结果
提示1:进入Python交互模式
提示2:按表1第三列语句,尝试打印各运算符对应的结果

比较(关系)运算符

我们设置变量a=7, b=2,你也可以将a和b设置为你想尝试的其他数

比较运算符作用于两个数值,返回结果是一个布尔值(我们上节讲到过布尔值,只有True、False两种值)。比较运算符如下表所示:

运算符作用代码举例
==判断两个对象是否相等print(a == b)
!=判断两个对象是否不相等print(a != b)
>判断a是否大于bprint(a > b)
<判断a是否x小于bprint(a < b)
>=判断a是否大于等于bprint(a >= b)
<=判断a是否小于等于bprint(a <= b)
表2:比较(关系)运算符

实践:定义两个变量,a=7,b=3,按表2第三列语句,尝试打印各运算符对应的结果

赋值运算符

我们设置变量a=7, b=2,你也可以将a和b设置为你想尝试的其他数

赋值运算符用于对变量直接赋值,或者更新变量的值,如下表所示:

运算符作用代码举例
=给变量c赋值,执行后c的值是a+bc = a + b
+=给变量c赋值,执行c=c+ac += a
-=给变量c赋值,执行后c=c-ac -= a
*=给变量c赋值,执行后c=c*ac *= a
/=给变量c赋值,执行后c=c/ac /= a
%=给变量c赋值,执行后c=c%ac %= a
**=给变量c赋值,执行后c=c ** ac **= a
//=给变量c赋值,执行后c=c // ac //= a
表3:赋值运算符

实践:定义两个变量, 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; 否则返回Falseprint(a and b)
or做 “或” 运算,a或b是True,返回True; 否则返回Falseprint(a or b)
not做 “非” 运算,a为True,返回False; 否则返回Trueprint(not a)
表4:逻辑运算符

实践:尝试对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, 然后将结果82相乘,最终结果是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=102+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=, %=, /=, //=, -=, += ,*=, **=赋值运算符
7in, not in成员运算符
8and, or, not逻辑运算符

最后

以上就是明理饼干为你收集整理的7. 运算符和表达式运算符的全部内容,希望文章能够帮你解决7. 运算符和表达式运算符所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部