一、不带括号时,调用的是函数本身,是一个函数对象,不须等该函数执行完成;
二、带括号(参数或者无参),调用的是函数的执行结果,须等该函数执行完成的结果;
有些函数(如map() )需要传入函数对象作为其参数,此时可以使用不加括号的调用方式传入一个函数对象。下面举一个简单的例子:
def add1(num):
return num + 1
ls = list(map(add1, [1, 2, 3, 4]))
print(ls) # [2, 3, 4, 5]
# 上面只是为了展示函数不加括号的调用方法, 也可以直接写成
ls = list(map(lambda x: x+1, [1, 2, 3, 4]))