def some_func():
print("Hi!")
var = some_func()
print(var)
我的问题是,为什么var不返回“嗨!”如果我在写def some_func()时已经定义过: 打印(“嗨!”)
有人可以向我澄清吗?
答案 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)