day13模块包和异常

day 13 模块包和异常

1、模块

​ 1、认识模块

​ 1)python中一个py文件就是一个模块

​ 2)模块分为系统模块和自定义模块

​ a.系统模块:python自带的模块,例如(functools、math、keyword、random等)

​ b.自定义模块:由程序员自己创建的模块

​ 2、导入模块 - 怎么在一个模块里去使用另外一个模块中的内容

​ 1)如果想要使用的内容(函数、变量、类)在另外一个模块中,可以用,但是在用之前必须导入

​ 2)一个模块中的内容想要被其他模块使用的前提:模块名必须符合变量名的要求(是标识符,不是关键字)

​ 3、怎么导入

"""
1、import 模块名	-	导入指定模块,导入后可以通过'模块名.'的方式使用这个模块中所有的全局变量
2、from 模块名 import 变量名1,变量名2,变量名3,...	-	导入指定模块,导入后可以直接使用import后面所有的变量
3、from 模块名 import *		-	导入指定模快,导入后可以直接使用模块中所有的全局变量
4、重命名
import 模块名 as 新模块名	-	对模块名重新命名
from 模块名 import 变量名1 as 变量名2,...	-	对变量名重新命名
"""
# ---------第一种导入方式-------
"""
import pcy1
print(pcy1.a1)
print(pcy1.name)
pcy1.func1()

"""


# ---------第二种导入方式-------
# from pcy1 import a1, name
# print(a1)
# print(name)

# ---------第三种导入方式-------
# from pcy1 import *
# print(a1)
# print(name)
# func1()


# import pcy1 as pcy2
# print(pcy2.name)
#
# # from pcy1 import name as new_name
# # print(new_name)

​ 4、导入原理与阻止导入

​ 1)导入原理:不管是通过import直接导入模块,还是通过from-import导入模块中的变量,原理都是进入指定模块,将模块中的代码全部执行一遍

​ 2)阻止导入:在被导入的模块中添加指定的if语句(main提示出来的if语句),将不需要被别的模块执行的语句放到if语句中

"""
if __name__ == '__main__':
    需要被组织导入的代码
"""

2、包

​ 1、什么是包

# 包含__init__.py文件的文件夹就是包

​ 2、导入包中的模块

​ 1)import 包.模块 as 新名字

# ==========导入方式1=========
# import 包.模块 as 新名字

# import package1.jsonfile as jsonfile
# jsonfile.read_json()


​ 2)from 包 import 模块1,模块2,…

​ from 包 import *

# ==========导入方式2=========
# from 包 import 模块1,模块2,...
# from 包 import *
# from package1 import jsonfile
# jsonfile.read_json()
# print(jsonfile.name)
# print(jsonfile.age)

​ 3)from 包.模块 import 变量1,变量2,…

# ==========导入方式3=========
# from 包.模块 import 变量1,变量2,...
# from package1.jsonfile import read_json, name
# read_json()
# print(name)

# from package1.data.chinese import a1
# print(a1)

​ 4)如果要使用包中__init__.py中的内容,直接用包去导入和使用

3、异常捕获

​ 1、异常

​ 1)异常就是错误(程序报错 == 程序出现异常)

​ 2)如果执行程序的过程中出现异常,程序会直接结束,不会再接着往后执行

​ 2、异常捕获

​ 1)异常捕获就是让程序在出现异常的时候,不报错,并且程序可以继续执行

​ 2)什么时候需要异常捕获:明明知道某段代码可能出现异常,但出现异常的原因不是代码写错,而是因为使用者操纵不当导致的,又不想因此导致程序崩溃,就可以使用异常捕获

"""
1、语法1	-	捕获所有类型的异常
try:
	代码段1(需要捕获异常的代码)
except:
	代码段2(捕获到异常后会执行的代码)
其他代码

执行过程:先执行代码段1,执行过程中如果出现异常不报错,马上执行代码段2,然后再执行后续的其他代码
		如果代码段1没有出现异常,不执行代码段2,直接执行后续的其他代码

"""

"""
2、语法2	-	捕获指定异常
try:
	代码段1(需要捕获异常的代码)
except 异常类型:
	代码段2(捕获到异常后会执行的代码)
其他代码
	
"""

"""
3、语法3	-	同时捕获多种异常,针对不同异常做相同处理
try:
	代码段1(需要捕获异常的代码)
except (异常类型1,异常类型2,...):
	代码段2(捕获到异常后会执行的代码)
其他代码

"""

"""
4、语法4	-	同时捕获多种异常,针对不同异常做不同处理
try:
	代码段1(需要捕获异常的代码)
except 异常类型1:
	代码段11(捕获到异常后会执行的代码)
except 异常类型2:
	代码段22(捕获到异常后会执行的代码)
...
其他代码

"""

​ 3、抛出异常 - 主动让程序报错

​ raise 异常类型

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值