"""
了解异常,即BUG
"""
# 程序计算出现的错误,☞软件出现了错误运行
# -----------------------------------------------
"""
异常的捕获
"""
# 项目运行,过程中,提前做好建设,进行异常捕获
# 基本语法:
# try:
# # 可能发生的错误
# except:
# # 如果出现异常执行的代码
try:
f = open("D:/1.txt","r",encoding="UTF-8")
except:
print("出现异常了,因为文件不存在,我将open的模式,改为w模式去打开")
f = open("D:/1.txt","w",encoding="UTF-8")
# 捕获指定异常
# try:
# except NameError as e:
# print("出现了变量未定义的异常")
# 捕获多个异常
# try:
# except (NameError,ZeroDivisionError) as e: # 元组形式显示多个异常
# print("出现了变量未定义的异常")
# 未正确设置捕获异常类型,将无法捕获异常
# 捕获所有异常
try:
f = open("D:/1.txt","r",encoding="UTF-8")
except Exception as e: # 元组形式显示多个异常
print("出现了变量未定义的异常")
else:
print("很高兴,没有异常")
finally:
f.close()
"""
异常的传递性
"""
def func1():
print("func1 开始执行")
num = 1 / 0 # 肯定有异常,除以0的异常
print("func1 结束执行")
# 定义一个无异常的方法,调用上面的方法
def func2():
print("func2 开始执行")
func1()
print("func2 结束执行")
# 定义一个方法,调用上面的方法
def main():
try:
func2()
except Exception as e:
print(f"出现异常了,异常的信息是:{e}")
main()
"""
模块的导入
"""
# 使用import导入time模块使用sleep功能(函数)
import time # 导入python内置的time模块(time.py这个代码文件)
print("你好!")
time.sleep(5) # 通过:就可以使用模块内部的全部功能(类,函数,变量)
print("我好")
# 使用from导入time的sleep功能(函数)
from time import sleep
print("你好!")
sleep(5)
print("我好")
# 使用 * 导入time模块的全部功能
from time import *
print("你好!")
sleep(5)
print("我好")
# 使用as给特定功能加上别名
import time as t
print("你好!")
t.sleep(5)
print("我好")
from time import sleep as sl
print("你好!")
sl(5)
print("我好")
"""
演示python包
"""
# 创建一个包
# 导入自定义的包中的模块,并使用
# import my_package.mymodule1
# import my_package.mymodule2
#
# my_package.mymodule1.info_print1()
# my_package.mymodule2.info_print1()
# from my_module1 import mymodule1
# from my_module2 import mymodule2
# mymodule1.info_print1()
# mymodule1.info_print2()
# from my_module1 import info_print1
# from my_module2 import info_print2
# info_print1()
# info_print2()
#通过__all__变量,控制import * # 这里的all变量时用来限制包的功能使用
# 非常重要的一点时这个python要新建一个all.py
# From my_package import *
# my_module1 import info_print1
# my_module1 import info_print2
"""
演示异常,模块,包的综合案例练习
"""
# 创建my_utils 包,在包内创建:str_util.py和file_util 2个模块, 并供应相应函数
import my_utils.str_util
from my_utils import file_util_py
print(my_utils.str_util.str_reverse("黑马程序员"))
print(my_utils.str_util.substr("itheima",0,4))
file_util_py.append_to_info("D:/test_appeend.txt","ithema")
file_util_py.print_file_info("D:/test_appeend.txt")
"""
演示自定义模块
"""
# 导入自定义模块使用
import my_module1
# from my_module1 import test
# test(1,2)
# 导入不同功能的同名功能
from my_module1 import test
from my_module2 import test
test(1,2)
# __main__变量
# from my_modual import *
test(1,2)
# test1(1,2)
__all__ = ["test"] # 外部函数用*函数使用全部函数时,内部的all功能会限制某一指定函数的功能实现
def test(a,b):
print(a + b)
def test1(a,b):
print(a - b)
# if __name__ == '__main__':
# 内置变量在这里做测试,通过这个功能测试函数,保证外部引用函数不会用这个功能
# test(1,2)
def test(a,b):
print(a - b)
02-18
900
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-08
167
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-08
186
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-20
667
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交