繁体   English   中英

当我在函数中使用print时得到none的原因是什么,当你使用return时它解决了?

[英]What is the reason behind getting none when I use print in the function and it is solved when you use return?

这里的打印函数用于函数greet。

def greet(first_name, last_name):
    name = f"{first_name} {last_name}"
    print(f"Hi {name.title()}")

friend = greet('ben', 'smith')
print(friend)

这里的输出是:

嗨,本·史密斯
没有任何

但是如果代码如果我在函数greet的最后一条语句中使用return,那么问题就解决了。

def greet(first_name, last_name):
    name = f"Hi {first_name} {last_name}"
    return name.title()

friend = greet('ben', 'smith')
print(friend)

这里的输出是:

嗨,本·史密斯

如果函数中没有return语句,那么它在功能上等同于return None IE

def foo():
    print("bar")

和写一样:

def foo():
    print("bar")
    return None

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM