# ### 函数名的使用
'''
# python中的函数可以像变量一样,动态创建,销毁,当参数传递,作为值返回,叫第一类对象.其他语言功能有限
'''
def func():
print(1)
# 1.函数名是个特殊的变量,可以当做变量赋值
# 变量的赋值操作
func2 = func
func2() # func()
# 动态的销毁变量
del func2 # del 关键字 用来删除变量的
# func2() # error
# 2.函数名可以作为容器类型数据的元素
print("<=====>")
def func1():
print(1)
def func2():
print(2)
def func3():
print(3)
def func4():
print(4)
lst = [func1,func2,func3,func4]
for i in lst:
# print(i)
i() # 函数的调用
# 3.函数名可以作为函数的参数
def func(a): # a = func2
res = a()
print(res)
def func2():
return 123
func(func2)
# 4.函数名可作为函数的返回值
def func(a): # a = func2 return a <==> return func2
return a
def func2():
return 456
# 函数的调用处
res = func(func2) # res = func2
print(res)
total = res() # res() <==> func2()
print(total)
# __doc__或者help查看文档
#(1) help
# help(print)
#(2)__doc__ 魔术属性
res = print.__doc__
print(res)
#(3) 自定义函数文档
def kao_qiezi(qimin):
'''
功能:告诉你如何做烤茄子
参数:是一个器皿
返回值:返回烧烤的状态
'''
print("从中间抛开,扔到烧烤架子上面")
print("扔胡椒面,扔孜然,扔蒜蓉,扔香菜")
print("用一个%s来盛放" % (qimin))
return "这个茄子做好了"
kao_qiezi("盆")
help(kao_qiezi)