我正在编写一个带有返回值int的初始富有成效的函数。 然后我创建一个void函数,在body中有一个简单的print语句,没有返回值,因此,None类型。 但是当我创建第三个函数来调用正文中富有成效的函数时,第三个函数将返回一个值,它仍然是一个None类型。 我之前已经读过问题here,here和here 但是,找不到解决方案。
这是我的代码:
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)? 感谢
答案 0 :(得分:2)
你在第三个函数中没有返回任何内容。您只需要调用执行返回功能的功能。只需添加return
def return_void_filled():
#This has inside a RETURN VALUE
print(return_something())
return return_something()