python-异常+包

一、捕获异常

1. try....except 

try:

语句

except:# 一定执行except代码

出现异常的处理代码

 异常时:

 

正确时:

2. 不同类型的异常:

两个数a、b,计算a/b

扫描二维码关注公众号,回复: 14639352 查看本文章

异常类型:1)b为0,输出不能为0                                         2)输入字母时,输出不能为字母

步骤:1)先输入两种异常情况,看输出错误的类型              2)输入相应代码至except下

 

3. 捕捉未知异常显示异常信息

except Exception as result:

      print(result)

4. finally:不管是否异常都要执行代码

try:

..........

except:

.....

finally:

        print("不管是否异常都要执行代码")

try:
    a = int(input("请输入数字"))
    b = int(input("请输入数字"))
    print(a/b)
except ValueError: # 异常类型1
    print("请输入正确的整数")
except ZeroDivisionError: # 异常类型2
    print("除数不能为0")
except Exception as result: # 除了上面两种类型的异常
    print(result)
else:
    print("代码没有异常")
finally: # 一定要执行
    print("代码执行完成")

二、抛出异常

通过代码抛出异常

raise Exception("异常描述")

 输入name和age,如果name为字母抛出异常;如果年龄<0,抛出异常;

思路:1)设计一个函数,为数字时返回True,其他时返回False

def digital(str1):
    sum = 0
    for n in str1:
        if n >= '0' and n <= "9"
            return True
    return False
try:
    name = int(input("请输入name"))
    if digital(name):    # 等价 if digital(name) == True
        raise Exception("名字不能有数字")
    age = int(input("请输入age"))
    if age <= 0:
        raise Exception("年龄不能小于0")
except Exception as result:
    print(result)

提示:函数返回布尔值,作为条件放到if或while后面时,if 函数名 == True 等价 if 函数名

如果函数返回True等于条件成立

三、模块

1. import 导入模块中所有

1. 一个py文件就是一个模块

2. 模块名称就是py名称,符合变量命名规则

import 模块名

import module1

print(module1.mysum(2, 4))  # module1中的mysum函数

2. from...import  只导入模块中特定函数

from module1 import mysum # 导入module1中mysum函数

print(mysum(2,4))

__name__属性

这个py文件正在执行,则name属性为main

3. 包

特殊的目录,目的是通过import语句可以一次性导入该目录下的所有模块

步骤:

1) 在项目里建立目录my_pack

2) 创建a1.py和a2.py两个文件

a1.py:

def my_max(a, b):
    if a > b:
        return a
    else:
        return b

a2.py:

def my_sum(a, b):
    return a + b

3) 创建__init__.py文件 

from. import a1  #.相对路径

from. import a2

导入语法 

from pack. a1 import my_max 

总结:

异常

1. try....except   except下代码为异常时执行代码,finally下代码一定执行

2. except xxx    某些异常时执行的代码

3. raise Exception("异常提示字符,主动提示")

1. 导入模块所有内容: import module1

2. 导入模块指定函数: from module 1 import my_max

3. 导入包(一定要有__init__.py): import pack

导入指定文件中的函数:from pack.a1 import my_max

猜你喜欢

转载自blog.csdn.net/Kiraxqc/article/details/125844986