目录
布尔类型
布尔类型的使用
流程控制
if语句
while循环
for循环
while循环与for循环的区别
range语句
range语句与for循环
变量的作用域
break和continue
异常
前言
异常的捕获
异常的传递性
布尔类型
布尔类型:主要用来表示现实生活中的逻辑。
布尔类型的使用
语法:变量名称=布尔类型字面量
注意:
- bool类型字面量有两种(真:True、假:False)
- True本质上是一个数字,记作1,False记作0
- 布尔类型不仅仅可以通过定义得到,也可以通过比较运算符进行内容比较获得
- 布尔类型中True和False的首字母必须大写
#定义变量存储布尔类型的数据
flag=True
print(f"flag变量的内容是:{flag},类型是{type(flag)}")
#flag变量的内容是:True,类型是<class 'bool'>
流程控制
前言:流程控制中根据空格(一般四个空格)来决定语句属于哪个流程。
if语句
#单分支
if 要判断的条件:
条件成立时要做的事情
#双分支
if 条件:
满足条件要执行的事情
else:
不满足要执行的条件
#多分支
if 条件1:
满足条件1要执行的语句
elif 条件2:
满足条件2要执行的语句
else:
条件都不满足要执行的事情
注意:
- else不需要判断条件,当if条件不满足时就会执行
- 空格缩进不能忘
- 多分支中的判断是互斥有顺序的,顺序是从头到尾,前面满足就不理会后面
height=int(input("请输入您的身高(cm):"))
vip_level=int(input("请输入您的VIP等级(1-5):"))
if height<120:
print("身高小于120cm,可以免费")
elif vip_level>3:
print("VIP级别大于3,可以免费")
else:
print("不好意思,掏钱吧你")
while循环
while 条件:
条件满足时需要做的事
注意:
- 条件必须是bool型True继续,False终止
- 空格缩进不能忘
- 规划好循环终止条件,否则无限循环
案例:从0到10打印i
i=0
while i<=10:
print(f"i为{i}")
i+=1
for循环
while循环与for循环的区别
- while循环的循环条件是自定义的,自行控制循环条件
- for循环是一种轮询机制,是对一批内容进行逐个处理
for 临时变量 in 待处理数据集:
循环满足时执行的语句
注意:
- 同while循环不同,for循环是无法定义循环条件的,只能从被处理的数据集中,依次取出内容进行处理
- for循环内的语句同样有空格缩进
name="hello world"
for x in name:
print(x)
理解:将name里的内容依次取出,包括空格
range语句
前言:for循环语法中待处理的数据集,严格来说称之为序列类型;序列类型指,其内容可以一个个依次取出的一种类型,包括字符串、列表、元组等
语法1:range(num)
含义:获取一个从0开始,到num结束的数字序列(不含num本身)
语法2:range(num1,num2)
含义:获取一个从num1开始到num2结束的数字序列(不含num2本身)
语法3:range(num1,num2,step)
含义:获取一个从num1开始到num2结束的数字序列(不含num2本身)数字之间的步长以step为准(step默认为1,可以为负数)
range语句与for循环
#让for循环执行10次
for x in range(10):
具体的语句
range语句作用:通过与for循环配合快速锁定for循环的执行次数
变量的作用域
for i in range(10):
print(f"for循环内部的i:{i}")
print(f"for循环外部的i:{i}")#可以访问到
注意:
- 临时变量,在编程规范上,作用域范围只限定在for循环内部,若在for循环外部访问临时变量实际上是可以访问到的,但在编程规范山不允许那么做。
- 因此,若想在外部访问for循环的临时变量尽量在for之前定义该变量,这样代码既不受到影响,我们的程序也比较符合规范
break和continue
- continue:中断本次循环,直接进入到下一次循环
- break:直接结束当前循环
注意:在嵌套循环中,continue和break只能作用在自己所在的循环中,无法对上层循环起作用
异常
含义:当检测到一个错误时,python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的异常,也就是我们常说的bug
前言
- 世界上没有完美的程序,任何程序在运行的过程中,都有可能出现异常(bug)进而导致程序无法完美的运行下去;我们要做的不是力求程序完美运行,而是在力所能及的范围内,对可能出现的bug,进行提前准备,提前处理,这种行为我们称之为异常捕获
- 我们不希望因为一个小bug就导致整个程序全部崩溃,因此我们就需要异常捕获
- 异常捕获的作用在于提前假设某处会出现异常,做好提前准备,当真的出现异常的时候,可以有后续手段进行补救
异常的捕获
语法:
try:
可能出现异常的代码
except (异常类型1,异常类型2,异常类型3) as 异常别名:
print("异常")
else:
没有异常需要执行的代码
finally:
无论如何都要执行的代码
注意:
- 若try捕获到异常,则后面的程序继续执行
- Except为所有异常的父类,若except后的类型为except则后面的命令可省略
- except后面跟的是元组,也可以仅跟一个异常类型(就不用写逗号和括号)
- finally表示无论是否有异常都要执行的代码,例如关闭文件
- else和finally是可选的
try:
f=open("D:/test/app.txt","r",encoding="UTF-8")
except:
print("出现异常了,文件不存在")
print("后续的代码继续执行")
异常的传递性
前言:函数嵌套时,当函数1中发生异常,并且没有处理这个异常的时候,异常会传递到函数2,当函数2函数2也没有捕获到这个异常时,则main函数就会捕获这个异常,这就是异常的传递性文章来源:https://www.toymoban.com/news/detail-628123.html
def func1():
print("func1开始执行")
num=1/0 #肯定有异常
print("func1结束执行")
def func2():
print("func2开始执行")
func1()
print("func2结束执行")
def main():
func2()
main()
注意:异常是可以传递的,他会从最底层的函数一直往上传递文章来源地址https://www.toymoban.com/news/detail-628123.html
到了这里,关于python流程控制与异常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!