目录
异常三:KeyboardInterrupt和EOFError
模块和函数及异常捕获
模块和函数
1、定义模块名称不能以数字kaito
扫描二维码关注公众号,回复:
10910839 查看本文章
2、不能和默认的模块重名
模块文件必须执行文件在同一目录或者模块文件在lib文件中有效
实例:
print("*"*20)
hello
print("*"*20)
创建一个功能模块,该模块可以被调用import
在模块中包含一个功能函数,函数的作用返回20个*
创建模块
"""
介绍模块的作用
里面包含的功能
作者的联系方式
"""
star = "**********"
"star变量的作用是赋了10个星号"
def p_star():
"我的作用返回20个星号"
return "*"*20
调用模块
import printstar
#print(help(printstar))
#print(dir(printstar))
#print(help(printstar.p_star))
star20 = printstar.p_star()
print(printstar.star)
print(" hello")
print(star20)
这里同样我们可以使用help()、dir()函数查看模块功能
函数的形参和实参
函数实现两个数值的除法计算
def division(a,b):
num = a / b
return num
numa = int(input("请输入被除数:"))
numb = int(input("请输入除数:"))
endnum = division(numa,numb)
print(endnum)
实参:numa,numb
形参:a,b
异常捕获
好处:
当我们程序运行时,会不可避免的出现一些异常,比如说用户故意输入错误,导致程序中的某个函数运行崩溃,我们通过捕获程序的异常,对用户的输入进行矫正或警告。
结构:
try:
被捕获的子语句
except(异常类型1,类型2,。。。):
pass/print
异常一:ZeroDivisionError
上面的除法程序,当我们输出除数为0时,程序报错
那我们如何控制它,不让他报错呢
def division(a,b):
num = a / b
return num
numa = int(input("请输入被除数:"))
numb = int(input("请输入除数:"))
try:
endnum = division(numa,numb)
print(endnum)
except ZeroDivisionError:
print("除数不能为0")
异常二:ValueError
还有当我们输入字母时,程序也会报错
def division(a,b):
num = a / b
return num
try:
numa = int(input("请输入被除数:"))
numb = int(input("请输入除数:"))
endnum = division(numa,numb)
print(endnum)
except ZeroDivisionError:
print("除数不能为0")
except ValueError:
print("请输入正常的整数")
异常三:KeyboardInterrupt和EOFError
我们直接按下CTRL+D,程序会报以下错误
我们直接按下CTRL+C,程序又会报以下错误
def division(a,b):
num = a / b
return num
try:
numa = int(input("请输入被除数:"))
numb = int(input("请输入除数:"))
endnum = division(numa,numb)
print(endnum)
except ZeroDivisionError:
print("除数不能为0")
except ValueError:
print("请输入正常的整数")
except (KeyboardInterrupt,EOFError):
pass
pass 直接结束