python输出10行相同内容_你需要知道的10条Python实用技巧(值得收藏)

大家好。

今天给大家分享 10 个我平时整理非常实用的 Python 开发小技巧,内容目录如下:

1. 如何在运行状态查看源代码?

查看函数的源代码,我们通常会使用 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

复制代码

2. 如何关闭异常自动关联上下文?

当你在处理异常时,由于处理不当或者其他问题,再次抛出另一个异常时,往外抛出的异常也会携带原始的异常信息。

就像这样子。

try:

print(1 / 0)

except Exception as exc:

raise RuntimeError("Something bad happened")

复制代码

从输出可以看到两个异常信息

Traceback (most recent call last):

File "demo.py", line 2, in

print(1 / 0)

ZeroDivisionError: division by zero

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "demo.py", line 4, in

raise RuntimeError("Something bad happened")

RuntimeError: Something bad happened

复制代码

如果在异常处理程序或 finally 块中引发异常,默认情况下,异常机制会隐式工作会将先前的异常附加为新异常的 __context__属性。这就是 Python 默认开启的自动关联异常上下文。

如果你想自己控制这个上下文,可以加个 from 关键字(from 语法会有个限制,就是第二个表达式必须是另一个异常类或实例。),来表明你的新异常是直接由哪个异常引起的。

try:

print(1 / 0)

except Exception as exc:

raise RuntimeError("Something bad happened") from exc

复制代码

输出如下

Traceback (most recent call last):

File "demo.py", line 2, in

print(1 / 0)

ZeroDivisionError: division by zero

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

File "demo.py", line 4, in

raise RuntimeError(&

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值