我们怎么能在一个单行循环中写这个?

时间:2014-06-17 20:25:42

标签: python for-loop

在Python中,是否有更合成的方式来编写它?

for n in dir():
    if n[0]!='_': delattr(sys.modules[__name__], n)

1 个答案:

答案 0 :(得分:2)

这是非常易读的语法,不要改变它。

for n in dir():
  if n[0]!='_': 
    delattr(sys.modules[__name__], n)

你可能会感到复杂,但它没有意义 - 代码必须首先简单而不是第二短。

更具可读性,短代码是最好的 - 不短且不易阅读:)

我会这样写 - 对人类来说更具可读性:

for name in dir():
  if not name.startswith('_'): 
    delattr(sys.modules[__name__], name)