Var不返回打印值,为什么?

时间:2019-02-03 16:23:40

标签: python

 def some_func():

     print("Hi!")

 var = some_func()

      print(var)

我的问题是,为什么var不返回“嗨!”如果我在写def some_func()时已经定义过:     打印(“嗨!”)

有人可以向我澄清吗?

3 个答案:

答案 0 :(得分:0)

使用返回“嗨!”而不是打印(“嗨!”) “嗨!”将转到调用该函数的位置。

答案 1 :(得分:0)

在Python中,如果需要一个函数来返回一个值,则必须使用return关键字:

def some_func():
    return "Hi!"

var = some_func()

print(var)

现在,在调用Hi!时,它实际上将打印print(var)。在最初的问题中,如果代码保持原样,则将仅打印以下内容:

Hi!
None

为了更详细一点,正在发生的是在运行语句some_func()时调用了var = some_func();如上所示,它将打印Hi!,但是由于some_func()不返回任何内容,因此var设置为None

这就是为什么在第二行调用print(var)时,将打印None而不是Hi!的原因。

有关None的更多信息:What is a None value?

答案 2 :(得分:0)

您在函数中缺少return语句,这意味着在调用函数时,没有任何内容返回给调用者。

执行此操作:

def foo():
    return "Hello"

var = foo()
print(var)