【发布时间】:2022-11-17 23:24:50
【问题描述】:
class MyLexer(Lexer):
tokens = {A,B}
lex = MyLexer()
在上面的代码 sn-p 中,我引用了之前未在任何地方声明的 A 和 B。这个有效的 python 语法如何?
【问题讨论】:
标签: python syntax-error nameerror sly
class MyLexer(Lexer):
tokens = {A,B}
lex = MyLexer()
在上面的代码 sn-p 中,我引用了之前未在任何地方声明的 A 和 B。这个有效的 python 语法如何?
【问题讨论】:
标签: python syntax-error nameerror sly
Python 在运行时进行解释,如果语法有效,则代码仅以字节码形式编译,不检查任何内容。
那里的语法是有效的,您只是在引用未导入/声明的内容。
您可以使用静态代码分析工具来避免此类错误,大多数 IDE 都内置了它们。 使用 pyright/mypy 进行类型检查也是一个好主意
【讨论】: