Python中可做而不应做的一些事

512 篇文章 7 订阅
512 篇文章 32 订阅

在 -5 ~ 256 之间的整型数值可以进行互换

当我在考虑这个能用在什么地方的时候,我有点迷茫了。撇开这点,你在此之前知道 Python 中的数字是可以改变其实际含义的吗?

Python中可做而不应做的一些事

Python中可做而不应做的一些事

之所有会有这种情况,是因为 Python 解释器为 -5 ~ 256 之间的每一个数都创建了一个对象实例,并将它们保存在了一个数组中。而我们可以通过 Python 中的 ctypes 模块访问这个底层数组,并将其打乱顺序。

Python中可做而不应做的一些事

BaseException 几乎总是未被捕获

如果你想要捕获 Python 中的任何可能的异常,你通常会这么做:

Python中可做而不应做的一些事

然而,这种操作被认为是非 Python 化的:

  • 在捕获异常时,尽可能地指明特定的异常。

PEP 8 也告诉我们:

  • 从 Exception 派生其它异常,而不是从 BaseException 派生。从 BaseException 直接继承是为其它异常保留的,因为捕获这类异常基本都是错误的。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

那么,使用 BaseException 而非 Exception 究竟会发生什么呢?

Python中可做而不应做的一些事

Python中可做而不应做的一些事

这里可以采取另一个合乎逻辑的步骤。如果你是继承自 BaseException,而不是 Exception,可以保留这个异常行为:

Python中可做而不应做的一些事

Python中可做而不应做的一些事

为了捕获到这些异常,你必须使用空 except 子句:

Python中可做而不应做的一些事

Python中可做而不应做的一些事

但这并不是理想的操作,因为这也会捕获 SystemExit,所以执行 sys.exit() 不会有效果。

Python中可做而不应做的一些事

Python中可做而不应做的一些事

可以通过编码的方式读取甚至修改其它模块的内容

这可能没有实际实用意义,不过你能猜到这里 Rumpelstiltskin 函数做了什么吗?

Python中可做而不应做的一些事

这里用了一种很糟糕的方式打印了我的名字。

Python中可做而不应做的一些事

我们现在来聚焦于 ‘this’,它是 Python 中的一个彩蛋。导入 ‘this’ 可以打印出《Python 之禅》(在 Python 自 rot13 解码之后)。

Python中可做而不应做的一些事

Python中可做而不应做的一些事

imp 允许我们找到磁盘上其它模块的位置,并像读取其它文件一样读取它。那么我们可以像编辑其它文件一样编辑它吗?最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

Python中可做而不应做的一些事

Python中可做而不应做的一些事

然后我们导入 this

Python中可做而不应做的一些事

的确,我们可以这么做。虽然在我的 Windows 10 虚拟机上面,我需要使用管理员身份来运行 PyCharm,否则我就会收到一个权限拒绝错误。但这变动是永久性的,所以做这种猴子补丁不是个好主意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值