[网络安全学习篇35]:python 模块和函数及异常捕获

目录

 

模块和函数及异常捕获

模块和函数

函数的形参和实参

异常捕获

异常一:ZeroDivisionError

异常二:ValueError

异常三: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 直接结束

发布了58 篇原创文章 · 获赞 28 · 访问量 3709

猜你喜欢

转载自blog.csdn.net/weixin_43252204/article/details/105593847