【问题标题】:Python print NonePython 打印无
【发布时间】:2016-11-04 05:14:00
【问题描述】:

我在打印 None 作为值时遇到问题。

假设这是我的 python 代码:

def a(b):
    b = None
    print b

def c(a):
    if a:
        return True
    else:
        return False

>>> a(1)
None            # I need this "None" to show.
>>> c(a(1))
None            # I don't want to print out this, but don't know how.
False

我的问题是我必须在只调用函数 a 时“打印”None。

当我将函数 a 传递给函数 c 时,我不想打印出“无”。

如果我输入“return None”,Python shell 将不会为函数 a 显示“None”。这就是为什么我认为如果我想显示“无”,我只能使用“打印”。但是当我将函数 a 传递给函数 c 时,“None”也会被打印出来。有没有办法只偷偷得到结果而不在第二个函数中打印出“None”?

我希望我的问题是有意义的。

非常感谢您的帮助。

【问题讨论】:

    标签: python printing return


    【解决方案1】:

    调用c(a(1)) 将先执行a(1),然后再执行c(a(1))。由于这里a(1) 没有返回truec(a(1)) 将评估为False

    这就是你得到关注的原因:

    None
    False
    

    尝试将函数调用为c(a),这将返回如下:

    True
    

    发生这种情况是因为a 尚未执行并且它具有一定的价值。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多