1 写在前面
这两天的学习笔记更新得不太及时,虽说是忙着面试和准备考试,但是更多还是自己的原因,最近去了几个地方面试,有点被刺激到了,这两天也做出了一个重大决定(暂时保密,我认为最牛的不是我要做什么,而是我做到了什么),2021年见分晓!这两天最大的感触就是要做自己的主人,没有人比你更了解你自己,学会清醒地学习、清醒地工作。
Anyway,以后尽量当天学习的内容,当天就把笔记整理出来,日事日毕。
2 运算符
2.1 条件运算符/三元运算符
(接着上一篇没讲完的部分)
整体语法为:语句1 if 表达式 else 语句2
其含义是:如果表达式为True
,执行语句1
;否则执行语句2
。
举个简单的栗子:
print('Python') if True else print('Java')
但这个例子是没有意义的。又输入如下:
a=10
b=30
print('a值大')if a>b else print('b值大')
输出结果为:
b值大
这里的a,b改变大小后输出结果也会随之变化。还可以这样输入:
a=800
b=100
m=a if a>b else b
print(m)
输出结果为:
800
2.2 运算符的优先级
考虑:a= 2 or 3 and 4
这个表达式赋给a
的值到底是多少呢?
- 第一种情况:or 和 and 优先级一样高,此时返回 4
- 第二种情况:or > and ,此时返回 4
- 第三种情况:and > or ,此时返回 2
我们用计算机直接看结果:
2
因此,事实证明,在Python中and
优先级比or
更高。
在Python官网中,我们可以查询到优先级参照表:
如上图所示,表格中越往下的,优先级越高。建议大家不要强记,在实际问题中去理解记忆。
下面再看一个稍微复杂一点的例子:a= not 4>2 and 5<6 or 3<4
由上表已知,优先级:not > and > or
因此,4>2
为True,则not 4>2
为False,由于and找False,前面为False,后面的5<6
就不用看了,not 4>2 and 5<6
结果一定为False,然而or找True,由于3<4
为True,因此整体结果就为True。同样验证一下:
True
下面我们思考和刚才的情况有点相似,但加上一个括号:a= not (4>2 and 5<6 or 3<4)
and 找True,左右两边均为True,因此4>2 and 5<6
为True,or找False,但没有False,因此4>2 and 5<6 or 3<4
输出为True,整体结果为False。
False
3 条件控制语句
3.1 if语句
3.1.1 if语句的语法
if 条件表达式:
代码块1
else 条件表达式:
代码块2
3.1.2 if语句的执行流程
先对条件表达式