在交互模式下只打印用户的变量

print only user's variables in interactive mode

我在python3解释器的交互模式下。

我创建了一些不同数据类型的变量。一段时间后,我想查看我创建的所有变量的列表。这可以通过使用 'dir()' 来完成。

但是 'dir()' 内置函数不仅会打印我创建的变量,还会打印特殊的 python 内置变量: ['annotations', 'builtins', 'doc', 'loader ', 'name', 'package', 'spec']

当然,这在很多情况下都非常有用,但对于初学者来说,这有点烦人。

那么,我怎样才能只打印我的变量呢?

所以我假设你在列出你得到的额外结果时故意遗漏了 Python 的内置 functions/variables 前后的“__”,而不是那个其他奇怪的事情正在发生。在这种情况下,排除它们的最简单方法是这样的:

[val for val in dir() if val.strip('__') == val]

只是不要定义任何以“__”开头或结尾的变量