异常,模块与包

异常,模块与包

一.异常

1.异常的概念

异常其实就是错误,编译器无法继续执行,会出现错误提示,也就是所称的bug

2.异常的捕获方法

捕获异常的作用就在于,提前假设在某处会出现异常,提前做好准备,当真的出现异常的时候,可以有后续手段

捕获异常的语法:
1基本捕获语法(捕获所有异常)
try:
    # 可能发生的异常
except:
    # 如果出现异常执行的代码
    # 也可写成except Exception as e:
2捕获指定异常
try:
    # 可能发生的异常
except NameError as e:
    # 如果出现NameError异常执行的代码
    # e里面记录了变量的具体信息
3捕获多个异常
try:
    # 可能发生的异常
except (NameError,ZeroDivisionError) as e:
    # 如果出现NameError或ZeroDivisionError异常执行的代码
4异常else和finally语句

else:如果没有出现异常继续执行的语句
finally:无论有没有异常都要执行的语句

try:
    f = open('D:/abc.txt','r',encoding='UTF-8')
except (NameError,ZeroDivisionError) as e:
    print('出现异常了')
else:
    print("太好了,没有出现异常")
finally:
    f.close()

这两个语句在捕获异常中可写可不写

5异常的传递
示例:
def func1():
    print("1开始")
    a = 1 / 0
    print("1结束")


def func2():
    print("2开始")
    func1()
    print("2结束")


def main():
    try:
        func2()
    except Exception as e:
        print(e)


实质上也就是函数的嵌套

二.模块

1.模块的概念

模块就是一个python文件,就像一个工具包,里面有类、函数、变量等、可以通过导入模块来使用,相当于c语言的引用头文件

2.模块的导入

总语法:

[from 模块名] import [模块|类|变量|函数|*][as 别名]
[]表示可选

1.import导入
语法: import 模块名
import 模块名1,模块名2
使用:模块名.功能名()

import time
print("开始")
time.sleep(2)
print("结束")

2.from导入
语法:from 模块名 import 功能名
使用:功能名()

from time import sleep
print("开始")
sleep(2)
print("结束")

import *则表示导入模块里的所有功能
3.as 别名
也就是把原模块的名或者里面功能的名改为自己想要的

from time import sleep as sl
print("开始")
sl(2)
print("结束")

3.自定义模块并导入

在python里面新建一个文件以.py结尾,并在里面定义功能,并且文件的命名要符合标识符的命名规则
在这里插入图片描述

from sk import add
c = add(1, 2)
print(c)

当导入多个模块时,且模块的功能同名,当调用这个同名功能时,调用到的是后面导入模块的功能

4.__main__变量

如果想要测试模块里的东西,但是在外部导入的时候,又不想将运行测试的代码,就可以用__main__变量去处理,如:

if __name__ == '__main__':
    add(1, 2)
    
5.__all__变量

如果模块文件中有__all__变量,当使用from 模块 import *导入时,只能导入这个列表中的元素,如果没有则可以导入模块中的所有功能

三.包

1.包的概念

可以理解成为一个文件夹,里面包含了很多个模块,还包含了一个__init__.py的文件,它们共同构成了一个包,如果没有这个文件,就只是一个文件夹
从逻辑上看,包依然是一个模块

2.自定义包

创建一个文件夹,然后系统会自动创建__init__.py文件,接下来在这个包里自己创建模块和功能
在这里插入图片描述

3.包的导入及使用

跟模块很相像

1

import 包名.模块名
包名.模块名.目标

2

from 包名.模块名 import 目标
目标

3

from 包名 import *
模块名.目标
注:如果要用__all__变量控制允许导入的模块,必须添加到__init__.py的文件当中去

4.第三方包的安装

由民间大佬开发出来的包称作第三方包,里面有很多使用的功能

安装:

1 打开命令提示符 输入pip install 包名,即可安装
但是默认连接的是国外的网站,所以网速很慢,可以换个方法
2 打开命令提示符 输入pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
即可安装
3 pycharm里也有安装第三方包的功能
右下角点击解释器设置,然后通过加号添加第三方包
在这里插入图片描述
网速慢的话可以在选项那里加上那个网址下载
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值