在搞装饰器前先琢磨一下函数吧,虽然不是什么高级的东西,但还是想一探究竟……
关于函数的定义就不赘述了,全是字,一搜一大堆,直接上代码:
def test(name="Tom"):
return "hello "+name
print(test())
print(test(name="Jeck"))
print(test("Lisa"))
print(test)
print("___________")
m=test()
print(m)
print("___________")
n=test
print(n)
print(n())
定义了一个超级简单的函数test,参数是name,默认值是“Tom”,调用该函数将返回hello Tom
为了易读我用分割线划了三部分,第一部分四条输出语句,分别是调用函数:默认参数;传递标准实参name=“Jeck”;直接传递参数“Lisa”;函数名。
第二部分是将函数赋值给变量m然后输出;第三部分是将函数名赋值给变量n,然后输出n和n();先看结果:
很明显,函数名就如同数组名一样,代表着函数的入口地址。。注意区分n和n(),前者是该函数的地址,后者是调用该函数并返回函数值;
继续,保持上边的m和n的赋值,其他先注释掉,不然会很乱:
del test
print(n())
pri