再多学一点吧

导航

Python语法3

模块

Python程序架构

Python源代码文件:*.py
一个py文件是一个模块(module) 多个模块可以组成一个包(package)

第三方工具包:

创建packet包


创建的每一个packet包中会自带一个_init_.py模块,而且这个模块在import这个包时,会自动加载出现

模块导入方式

packet1下的module1代码:

i = 1

def func():
    print("func1")

# 这里在导入模块时会自动导入
# 不想被自动导入的话,可以将代码放入main方法中
if __name__ == '__main__':
    print("module会自动导入")
    func()

实现代码:

from packet1 import module1
# 取别名,防止出现模块重名
from packet1 import module1 as m1
# 直接导入模块中的方法和变量
from packet1.module1 import i, func
# 直接导入
import packet1.module1 as mm1

print(module1.i)
module1.func()

异常处理

六种典型异常

1.除零错误(ZeroDivisionError):除数为0
2.名称错误(NameError):变量使用前未进行申明或者初始化
3.类型错误(TypeError):某些函数或者方法只适用于特定的数据类型,如果 对数据类型的操作不当,就会产生类型错误
4.数值错误(ValueError):在输入类型正确的情况下,具体输入值错误
5.索引错误(IndexError):超出序列长度的索引操作
6.属性错误(AttributeError):方法或者属性不适用该对象

异常处理

try:
    print(10 / 0)
    print("上面异常发生,这不会执行")
except ZeroDivisionError as e:
    print(e)
    print("发生除零异常")
except NameError as e:
    print(e)
    print("NameError异常")
else:
    print("没有异常")
finally:
    print("不管发生什么都会执行")


division by zero
发生除零异常
不管发生什么都会执行

自定义异常

# 自定义异常
class AlienError(Exception):
    def __init__(self):
        super(AlienError, self).__init__("error")


age = int(input("请输入年龄"))
try:
    if age < 0:
        raise AlienError
    else:
        print("age is %d" % age)
except AlienError as e:
    print(e)

请输入年龄-1
error

posted on 2021-10-27 15:26  糟糟张  阅读(38)  评论(0编辑  收藏  举报