Python 3非void函数仍然返回无类型

时间:2018-02-10 05:29:46

标签: python function nonetype

我正在编写一个带有返回值int的初始富有成效的函数。 然后我创建一个void函数,在body中有一个简单的print语句,没有返回值,因此,None类型。 但是当我创建第三个函数来调用正文中富有成效的函数时,第三个函数将返回一个值,它仍然是一个None类型。 我之前已经读过问题hereherehere 但是,找不到解决方案。

这是我的代码:

def return_something():
    return 3

def return_void_test():
    print('VOID')

def return_void_filled():
    #This has inside a RETURN VALUE
    print(return_something())
    return_something()


 print(return_something()) 
 print(return_something)
 j = return_something()
 print(type(j),'\n')

 print(return_void_test())
 print(return_void_test)
 k = return_void_test()
 print(type(k),'\n')

 print(return_void_filled())
 print(return_void_filled)
 g = return_void_filled()
 print(type(g))

结果如下:

3
<function return_something at 0x000001CEEF392E18>
<class 'int'> 

VOID
None
<function return_void_test at 0x000001CEF10247B8>
VOID
<class 'NoneType'> 

3
None
<function return_void_filled at 0x000001CEF133B6A8>
3
<class 'NoneType'>

Process finished with exit code 0

我做错了什么? 为什么第三个函数在应该为int时仍显示为None Type(返回值为int 3)? 感谢

1 个答案:

答案 0 :(得分:2)

你在第三个函数中没有返回任何内容。您只需要调用执行返回功能的功能。只需添加return

即可
def return_void_filled():
    #This has inside a RETURN VALUE
    print(return_something())
    return return_something()
相关问题