python中函数返回值为func 和func() 的区别

来源:互联网 发布:redis 数据库设计实例 编辑:程序博客网 时间:2024/06/06 18:25

今天看书注意到一个问题,就是有些函数的返回值是直接return func,有些则是return func(),看不清其区别,所以自己探究了一下。


首先定义一个foo函数:

def foo():

pass


察看type(foo) 得到:<type 'function'>

察看type(foo())得到:<type 'NoneType'>


再定义一个bar函数:

def bar(foo):
       return foo()


察看type(bar) 得到: <type 'function'>

察看type(bar(foo))得到:<type 'NoneType'>


综上所述:使用return func 时返回的是func 这个函数,使用return func() 时返回的是func() 执行后的返回值,如果func()函数没有返回值则返回值为None,而且此时func函数如果有其他打印语句之类的也会一起执行。

0 0
原创粉丝点击