【问题标题】:print only user's variables in interactive mode在交互模式下仅打印用户变量
【发布时间】:2018-06-22 15:51:21
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: python-3.x variables interactive mode


    【解决方案1】:

    因此,我假设您在列出获得的额外结果时有意省略了 Python 的内置函数/变量前后出现的“__”,而不是发生了其他奇怪的事情。在这种情况下,排除它们的最简单方法是这样的:

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

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

    【讨论】:

    • 它有效!多谢!我将尝试将这行代码包含在一个单独的 .py 文件中,然后尝试在交互模式下执行它。
    • 当然。将它放在自己的函数中也会使其更容易重用。如果我解决了您的问题,请随时接受我的回答。
    猜你喜欢
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 2019-07-01
    相关资源
    最近更新 更多