python的入门14

本文介绍了Python编程中else语句的多种用法,包括与if配合使用,以及与for、while循环的结合。在for和while循环中,else语句在循环正常完成时不执行,若因break中断则不会执行else部分。此外,文章还讨论了try-except-else结构,当无异常发生时执行else块的代码,以及with语句在文件操作中的作用,确保文件在使用后自动关闭。
摘要由CSDN通过智能技术生成

丰富的else语句

1、与if连用

和if一起使用:要么怎样,要么不怎样

# -*- coding: utf-8 -*-
age = 17
if age >= 18:
    print("成年人")
else:
    print("未成年人")

2、和for、while循环语句

和for、while循环语句:循环顺利干完了能怎样,干不完就别想怎样;break跳出不会 执行else里的语句

1、和while循环语句一起使用

num = 11
count = num // 2
while count > 1:
    if num % count == 0:
        print('%最大的约数是%d' % (num, count))
        break                                   #break出去,不会执行else
    count -= 1
else:
    print('%d是素数!' % num)

2、和for循环语句一起使用

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 6:
        print("找到了 6!")
        break
else:
    print("未找到 6!")

1、当迭代对象完成所有迭代后且此时的迭代对象为空时,
2、如果存在else子句则执行else子句,没有则继续执行后续代码;
3、如果迭代对象因为某种原因(如带有break关键字)提前退出迭代,则else子句不会被执行,程序将会直接跳过else子句继续执行后续代码。
while循环语句也是一样的。

3、try - except - else 语句

当没有异常发生时,else中的语句将会被执行。

# -*- coding: utf-8 -*-
a = 10
b = 0
try:
    c = a / b
    print(c)
except Exception as e:
    print(f"抛出异常时执行,异常原因:{e}")
else:
    print("no error")
print("done")

运行结果为:
在这里插入图片描述
当把上面的a和b调换一下顺序的输出结果为:

在这里插入图片描述

4、with语句:

对文件使用,当文件不适用时自动关闭文件,省去了finally: f.close()

try:
    with open('data.txt', 'r') as f:
        for each in f:
            print(each)
except OSError as reason:
    print('error:' + str(reason))

try::这是一个异常处理的语句块的开始。在这个块中,我们将尝试执行一些可能会引发异常的代码。

with open(‘data.txt’, ‘r’) as f::使用 with 语句打开名为 “data.txt” 的文件,并将文件对象赋值给变量 f。这个 with 语句用于自动管理文件的打开和关闭,确保在处理完文件后正确关闭文件。

for each in f::使用 for 循环遍历文件对象 f,迭代读取文件的每一行。每次迭代时,将当前行的内容赋值给变量 each。

print(each):打印变量 each 的值,即当前行的内容。

except OSError as reason::这是异常处理语句中的一个分支。它指定当出现 OSError 类型的异常时要执行的代码。异常对象被赋值给变量 reason。

print(‘error:’ + str(reason)):打印一个错误消息,包含异常对象的描述。str(reason) 将异常对象转换为字符串形式以进行拼接。

综上所述,这段代码的意思是尝试打开名为 “data.txt” 的文件,并逐行读取其内容并打印出来。如果在文件操作过程中出现 OSError 异常,将打印出相应的错误消息。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值