提交 f8dccfad authored 作者: Brandon T. Willard's avatar Brandon T. Willard 提交者: Brandon T. Willard

Prevent unique names from shadowing builtins

上级 0c1f0f33
import builtins
import io import io
import re import re
import sys import sys
...@@ -595,7 +596,15 @@ def get_name_for_object(x: Any): ...@@ -595,7 +596,15 @@ def get_name_for_object(x: Any):
if isinstance(x, Variable): if isinstance(x, Variable):
name = re.sub("[^0-9a-zA-Z]+", "_", x.name) if x.name else "" name = re.sub("[^0-9a-zA-Z]+", "_", x.name) if x.name else ""
name = name if (name.isidentifier() and not iskeyword(name)) else x.auto_name name = (
name
if (
name.isidentifier()
and not iskeyword(name)
and name not in dir(builtins)
)
else x.auto_name
)
else: else:
name = getattr(x, "__name__", None) name = getattr(x, "__name__", None)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论