def print_name(name):
print(name)
print(print_name('Annabel Lee'))
为什么会得到以下输出:
Annabel Lee
None
更确切地说,None
一词是从哪里来的?
答案 0 :(得分:1)
因为您正在打印方法print
,所以返回值应该是名称,而不是print(name)
。
答案 1 :(得分:1)
您有两次调用print
:一个在print_name
内部,另一个在函数范围之外。
内部print_name()
会打印传入的name
。外面的那个会打印函数print_name
返回的内容-因为没有{{ 1}}语句。假设只需要一个打印输出,则可以None
而不是在函数中打印它:
return
或者仅调用return
而不将其包装在def print_name(name):
return name
print(print_name('Annabel Lee'))
函数中。
答案 2 :(得分:0)
您的函数未返回任何内容,这就是为什么它不提供任何结果的原因。 不返回的函数返回None。
答案 3 :(得分:0)
您的函数将显示名称,您无需再次使用print()
。
def print_name(name):
print(name)
print_name('Annabel Lee')
如果在函数中不使用return
,则默认情况下它将返回None
。如果您的函数是这样的,则您的代码是正确的:
def print_name(name):
return name
print(print_name('Annabel Lee'))
答案 4 :(得分:0)
print()
函数计算括号中的参数并输出结果。
print(1+1)
将打印“ 2”,因为1 + 1的结果是2。就这样,print("abcd".upper())
将打印“ ABCD”。
当您调用print(print_name('Annabel Lee'))
时,打印函数将尝试计算参数,在这种情况下为print_name('Annabel Lee')
。由于print_name()
函数不返回任何值(它仅显示'Annabel Lee'),因此返回的值为None。这就是print()
函数打印“无”的原因。