繁体   English   中英

Python 打印函数中的函数打印

[英]Function printing in Print Function in Python

我的问题是下面的代码为什么 None 正在打印代替函数输出以及为什么函数输出在其位置之前获得。

def print_spam():
    print('spam')


def do_twice(r,ps):
    g  = ps()
    print(r,'is a',g)
    print(r,'is a',ps())

do_twice('xyz',print_spam)

输出是

spam
xyz is a None
spam
xyz is a None

函数print_spam()return任何内容。 它只是print sa 语句。

将其更改为:

def print_spam():
    print('spam')
    return 'spam'

因为您的函数不返回任何内容,所以它默认为None 现在,当将函数输出分配给g ,它将包含函数的返回字符串( spam )。

考虑更换

g  = ps() 
print(r,'is a',g)

g  = ps 
print r,'is a', 
g()

无论如何,正如其他一些答案所指出的,print_spam() 返回 None

暂无
暂无

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

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