python的入门14
丰富的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 异常,将打印出相应的错误消息。