将 C 风格的 for 循环添加到 Python。
项目描述
被诅咒的
将 C 风格的 for 循环添加到 Python,因为你可以。
>>> for (i = 0; i < 10; i += 2):
... print(i)
0
2
4
6
8
安装
pip install cursed-for
用法
# coding在要诅咒的文件顶部添加以下注释:
# coding: cursed_for
然后根据需要编写受诅咒的 for 循环。检查此文件以获取示例。
对于交互式 REPL,cursed-for请在终端中输入:
$ cursed-for
Cursed Python REPL, 3.10.4 (main, Apr 2 2022, 09:04:19) [GCC 11.2.0]
>>> x = 10
>>> for (;x > 5;x -= 3):
... print(x)
10
7
但为什么?
这是因为我有一个晚上有一个被诅咒的想法,我把它放在了 推特上:
虽然这有效,但我不喜欢它的外观。但是使用我使用的方法,我被 Python 的语法所限制,它真的不支持我想做的事情。但后来我偶然发现了几个包, 它们为我提供了犯下这种暴行所需的工具。
好的,但这怎么可能呢?
我写了一篇关于我实现这一点的方法的博客。
开发过程中发生的粗略迭代记录在 方法文件夹中。它包含 AST 操作方法和“真正被诅咒”的方法。
“旧方式”的用法
第一个版本(如原始推文所示)也存在于存储库中,用于存档目的。
请注意,这仅在 REPL 中真正有效。要启动它,请在终端中运行cursedfor.py 。它是一个文件,如果需要,只需下载一个文件即可获得。
>>> with _for(i := 0, i < 10, i += 2):
... print(i)
0
2
4
6
8
救命,东西坏了!
您可以使用该cursed-for-decode命令来确定模块正在生成哪些代码:
$ cat x.py
for (i = 1; i < 100; i += 1):
print(i)
$ cursed-for-decode x.py
i = 1
while i < 100:
print(i)
i += 1
如果生成的代码看起来错误,请使用代码片段提交错误报告。
项目详情
关
cursed_for -0.3.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0be08e190228c2e7a7c9d5871f029a1ef8e8c4b7ef51031ff6ed0cee363f234e |
|
| MD5 | f99a9c344132114652b9b54dcdd8c5c0 |
|
| 布莱克2-256 | f247a0f2b2d4bb464063fc3e3edcf019980cfa2b07f1cf0ab8b465c4bd7203d8 |