异常处理
'''
异常
'''
try:
print("-----------开始-----------------")
a = 100/0
print(a)
except ValueError as e:
print("错误信息:",e)
except ZeroDivisionError as e:
print("错误信息:", e)
except Exception as e:
print("错误信息:",e)
else:
print("错误信息:未知")
finally:
print("------------结束--------------")
'''
调用栈 下面的报错信息,就相当于是一个调用栈,从34--》27--》24一步一步定位到错误的位置并打印错误信息
Traceback (most recent call last):
File "D:/PyCharm/Project/TestOne/异常处理.py", line 34, in <module>
bar('0')
File "D:/PyCharm/Project/TestOne/异常处理.py", line 27, in bar
return foo(s)*2
File "D:/PyCharm/Project/TestOne/异常处理.py", line 24, in foo
return 100/int(s)
ZeroDivisionError: division by zero
def foo(s):
return 100/int(s)
def bar(s):
return foo(s)*2
#main函数,如果当前文件是单独执行的 则__name__ == '__main__',如果当前文件被其他模块引入调用的时候就不等于了
if __name__ == '__main__':
bar('0')
'''
'''
自己定义一个 调用栈
'''
def foo(s):
return 100 / int(s)
def bar(s):
return foo(s) * 2
# main函数,如果当前文件是单独执行的 则__name__ == '__main__',如果当前文件被其他模块引入调用的时候就不等于了
if __name__ == '__main__':
try:
bar('0')
except Exception as e:
print(e)
finally:
print('finally...........')
模块引用
#!/usr/bin/env python3 针对非windows(linux,uninx)运行环境所添加的
#-*-coding:utf-8-*-
'在py脚本开头我们写如上的两句语句是为了指定运行环境和编码'
'''
引入 第三方模块 扩展自己的功能
一个.Py文件称之为一个模块(Module)
• 好处:
1. 便于代码维护,把很多函数放到不同文件,一个.py文件的 代码数量少
2. 一个模块可以被其他地方引用,代码不必从零写起
3.使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中
'''
'说明模块用途的地方'
__author__ ='fxg'
def test():
print('test()调用成功')
if __name__ == '__main__':
test()
#新建包的时候会自动生成一个__init__.py的文件,是必须的
from Test_Package.my1 import my1_test
my1_test()
'''
安装第三方模块
1.pip install Pillow(后期可能会出现版本不正确的问题)
2.使用Python的另一个发行版本,Anaconda(国内网速原因经常可能会断)
3.Pycharm 里面安装
'''
模块引用中有一个引用另一个文件中的对应的方法 所对应的包结构 如下图所示:

pycharm中引入安装其他模块的位置下图:


本文深入探讨Python中的异常处理机制,包括try-except-else-finally语句的使用,以及如何通过调用栈定位错误。同时,介绍了模块引用的概念,如何引入第三方模块扩展功能,避免代码重复,提高代码维护性和模块间引用的方法。
2840

被折叠的 条评论
为什么被折叠?



