1.异常
当检测到⼀个错误时,解释器就⽆法继续执⾏了,并且出现⼀些错误的提示
捕获异常格式:try:
可能发⽣异常的代码
except:
如果出现异常执⾏的代码
else:
没有异常执⾏的代码
finally:
⽆论是否异常都要执⾏的代码
通过异常类型捕获异常:except 异常类型:
代码
except 异常类型 as xx:
代码 # except Exception as e:捕获任意类型异常
自定义异常:class ShortInputError(Exception):
def __init__(self, length, min_len):
self.length = length
self.min_len = min_len
# 设置抛出异常的描述信息
def __str__(self):
return f'你输⼊的⻓度是{self.能少于{self.min_len}个字符'
try:
con = input('请输⼊密码: ')
if len(con) < 3:
raise ShortInputError(len(con), 3)
except Exception as result:
print(result)
else:
print('密码已经输⼊完成')
2.模块
Python 模块(Module),是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和Python语句模块能定义函数,类和变量,模块⾥也能包含可执⾏的代码
导入模块的方式:
方法一:import 模块名
方法二:from 模块名 import 功能名
方法三:from 模块名 import * (不推荐)
方法四:import 模块名 as 别名
方法五:from 模块名 import 功能名 as 别名
模块定位顺序:1. 当前⽬录
2. 如果不在当前⽬录, Python则搜索在shell变量PYTHONPATH下的每个⽬录。
3.如果都找不到, Python会察看默认路径。 UNIX下,默认路径⼀般为/usr/local/lib/python/
注意事项:模块搜索路径存储在system模块的sys.path变量中。变量⾥包含当前⽬录, PYTHONPATH和由安装过程决定的默认⽬录
⾃⼰的⽂件名不要和已有模块名重复,否则导致模块功能⽆法使⽤
使⽤from 模块名 import 功能 的时候,如果功能名字重复,调⽤到的是最后定义或导⼊的功能
导入模块的时候, 模块里的代码都会执行一次
__name__ 直接执行当前文件, __name__的值是"__main__", 被其他代码调用, __name__的值是py文件名
__all__ 如果⼀个模块⽂件中有 __all__ 变量,当使⽤ from xxx import * 导⼊时,只能导⼊这个列表中的元素
3.包
如果⽂件夹内有⼀个名字为 __init__.py ⽂件,那么这个⽂件夹就称之为包 (一个包里可以含有多个模块)
导包:
一个包里可以含有多个模块
from 包名 import 模块名
from 包名 import * (不推荐)
import 包名.模块名 as 别名
from 包名 import 模块名 as 别名