一、顺序语句
默认情况下,Python 的代码执行顺序是按照从上到下的顺序,依次执行的。
编程是一件明确无歧义的事情,安排好任务的顺序,计算机才能够正确的进行执行。
二、条件语句
1、什么是条件语句
条件语句能够表达 “如果...,否则...” 这样的语义,这构成了计算机中基础的逻辑判定。条件语句 也叫做分支语句。
如果 我认真敲代码我就很容易找到工作
否则我就容易毕业就失业
其中,“我认真敲代码” 称为条件。如果条件成立(条件为真),则会出现 “我就很容易找到工作” 这个情况;如果条件不成立(条件为假),则会出现 “我就容易毕业就失业”。
当然,同样的逻辑还可以反着表达:
如果 我选择躺平摆烂我就容易毕业就失业
否则我就很容易找到工作
虽然结构变了,但是整体表达的语义是等价的。
2、语法格式
Python 中使用 if else 关键字表示条件语句。
(1)if
if expression:do_something1do_something2
next_something
- 如果 expression 值为 True,则执行 do_something1,do_something2,next_something
- 如果 expression 值为 False,则只执行 next_something,不执行 do_something1,do_something2
(2)if - else
if expression:do_something1
else:do_something2
- 如果 expression 值为 True,则执行 do_something1
- 如果 expression 值为 False,则执行 do_something2
(3)if - elif - else
if expression1:do_something1
elif expression2:do_something2
else:do_something3
- 如果 expression1 值为 True,则执行 do_something1
- 如果 expression1 值为 False,并且 expression2 为 True,则执行 do_something2
- 如果 expression1 值为 False,并且 expression2 为 False,则执行 do_something3
- if 后面的条件表达式,没有 ( ),使用 : 作为结尾。
- if / else 命中条件后要执行的 “语句块”,使用缩进(通常是 4 个空格或者 1 个 tab)来表示,而不是 { }。
- 对于多条件分支,不是写作 else if,而是 elif(合体了)。
输入 1 表示愿意认真学习,输入 2 表示躺平摆烂:
3、缩进和代码块
代码块指的是一组放在一起执行的代码。
在 Python 中使用缩进表示代码块。不同级别的缩进,程序的执行效果是不同的。
注意上述代码的区别:
- 在代码 1 中,print("world") 有一级缩进,这个语句属于 if 内的代码块,意味着条件成立才执行,条件不成立则不执行。
- 在代码 2 中,print("world") 没有缩进,这个语句是 if 外部的代码,不属于 if 内部的代码块。意味着条件无论是否成立,都会执行。
另外,代码块内部还可以嵌套代码块:
- print("hello") 具有两级缩进,属于 if b == "2" 条件成立的代码块。
- print("world") 具有一级缩进,属于 if a == "1" 条件成立的代码块。
- print("python") 没有缩进,无论上述两个条件是否成立,该语句都会执行。
基于缩进的方式表示代码块,带来的好处就是强制要求我们要写明确的缩进,来明确代码之间的相对关系。如果缩进书写的不对,则直接报错。
像 C++ / Java 这些语言,即使完全不写缩进,语法也不会报错,代码可读性就比较差。
同时,带来的坏处就是:如果缩进层次比较多,就容易分不清楚某个语句属于哪个层级。所以,当有多级条件嵌套的时候,当前的语句属于哪个代码块完全取决于缩进的级别。
4、空语句 pass
其中 pass 表示空语句,并不会对程序的执行有任何影响,只是占个位置,保持 Python 语法格式符合要求。
三、循环语句
有些操作是需要反复执行的,这种就需要使用循环。
1、while 循环
基本语法格式:
while 条件:循环体
- 条件为真,则执行循环体代码。
- 条件为假,则结束循环。
2、for 循环
基本语法格式:
for 循环变量 in 可迭代对象:循环体
注意:python 的 for 和其他语言不同,没有 “初始化语句”,“循环条件判定语句”,“循环变量更新语句”,而是更加简单所谓的 “可迭代对象”,指的是 “内部包含多个元素,能一个个把元素取出来的特殊变量”。
当前有个内建函数:sum,我们自己定义的变量和内建函数发生了冲突,虽然不影响运行,但是代码后面无法使用内建函数 sum,将我们自己定义的变量修改成其它变量名即可。
如果不想一个一个修改,可以采取批量修改:(将光标放在要修改的变量名上,选择:Shift +(Fn)+ F6,修改完之后直接回车即可)
3、continue
continue 表示结束这次循环,进入下次循环。
4、break
break 表示结束整个循环。