python流程控制与异常

目录

布尔类型

布尔类型的使用

流程控制 

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函数就会捕获这个异常,这就是异常的传递性

def func1():
    print("func1开始执行")
    num=1/0 #肯定有异常
    print("func1结束执行")
def func2():
    print("func2开始执行")
    func1()
    print("func2结束执行")
def main():
    func2()
main()

注意:异常是可以传递的,他会从最底层的函数一直往上传递

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值