![08a503a1cbefcbe1b90af2cea679cdd6.png](https://i-blog.csdnimg.cn/blog_migrate/15e47096e62a556bed525ffb36066b2c.jpeg)
作者 | 写代码的明哥
来源 | Python编程时光
![275129a1bc041f0695b716307c5980ff.png](https://i-blog.csdnimg.cn/blog_migrate/2eff703390588972514f19b5285b1a64.jpeg)
如何在运行状态查看源代码
查看函数的源代码,我们通常会使用 IDE 来完成。
比如在 PyCharm 中,你可以 Ctrl +鼠标点击进入函数的源代码。
那如果没有 IDE 呢?
当我们想使用一个函数时,如何知道这个函数需要接收哪些参数呢?
当我们在使用函数时出现问题的时候,如何通过阅读源代码来排查问题所在呢?
这时候,我们可以使用 inspect 来代替 IDE 帮助你完成这些事:
# demo.py
import inspect
def add(x, y):
return x + y
print("===================")
print(inspect.getsource(add))
运行结果如下:
$ python demo.py
===================
def add(x, y):
return x + y
![7cd50a7131e51c45476de414c21f87bd.png](https://i-blog.csdnimg.cn/blog_migrate/bc5a002c3e21c152e437127ebf05339a.jpeg)
如何关闭异常自动关联上下文
当你在处理异常时,由于处理不当或者其他问题,再次抛出另一个异常时,往外抛出的异常也会携带原始的异常信息。
就像这样子:
try:
print(1 / 0)
except Exception as exc:
raise RuntimeError("Something bad happened")
从输出可以看到两个异常信息:
Traceback (most recent call last):
File "demo.py