情景1:无参数函数
def func_a():
print('Hello!')
>>> func_a
<function func_a at 0x035CC9C0>
>>> func_a()
Hello!
>>> a = func_a() # 执行func_a()并将其返回值赋给a,这里func_b()的返回值是None。
>>>a
Hello!
情景2:有参数函数
def func_b(x):
return -x
>>> func_b
<function func_b at 0x03B4D390>
>>> func_b(-3)
(无输出) # 因为func_b(),只是计算,没有输出打印任何参数
>>> b = func_c(-3) # 执行func_b(-3),并将返回值赋给b
>>>b # 查看b的值,为3
3
情景3:返回值是函数的函数
def func_c():
return lambda x: -x
>>> c = func_c() # 执行func_c(),并将返回值(匿名函数lambda)赋给c,c就变成了一个函数
>>> type(c)
<class 'function'> # c的数据类型是**函数**
>>c(-3)
3
>>> c = func_c # 注意:这样是没有太大意义的,只是给func_c又起了个名字,没有其他计算或者赋值。
网友评论