gpt4 book ai didi

python - "with"可以用作 Python 中的标识符吗?

转载 作者:行者123 更新时间:2023-11-28 21:48:39 24 4
gpt4 key购买 nike

我正在努力使第三方 Python 包适用于 Python 2.7(已断言)以与 Python 2.6 一起使用,尽管它已经过时,但在我权限范围内的许多机器上仍然是标准的 Python。

我一直在使用 compileall 模块来帮助我识别兼容性问题,但实际上我发现的很少。其中只有一个被证明是非常有抵抗力的:提供给我的代码在几个地方使用“with”作为标识符,都作为关键字参数

newitems.append(Data(item[:, Numeric.NewAxis], with='lines'))

并作为属性名

self.with = keyw['with']

.鉴于“with”自 Python 2.6 以来一直是关键字,字节编译器对“with”的这些用法感到厌烦。

由于所讨论的模块的最新修订日期明显是在 2010 年初,而且它的血统书可以追溯到更早的时候,我倾向于认为该模块从未在 Python 2.7 中工作(正如所声称的那样),也不即使在 Python 2.6 中。还有其他合理的结论吗?除了在有问题的上下文中用不同的标识符替换“with”之外,还有其他明智的方法吗?

最佳答案

不,它不能。 with 在 Python 中被列为保留字,也称为关键字。来自Python 2.7 Docs :

The following identifiers are used as reserved words, or keywords of the language, and cannot be used as ordinary identifiers.

Python 2.6 Docs 中也有同样的说法甚至 Python 2.5 Docs .这意味着该模块不起作用,很可能唯一的解决方案是将 with 更改为另一个词。如果您使用的是 Vim,this可能有助于简化这项任务。


尝试在 Python 代码中使用 with 将导致 SyntaxError: invalid syntax

>>> with = True
File "<stdin>", line 1
with = True
^
SyntaxError: invalid syntax

关于python - "with"可以用作 Python 中的标识符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34936225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com