044 函数对象
函数的对象
- 其实函数就等同于变量名,变量名有的方法函数名同样都有
- 可以被引用 ; 当做容器元素 ; 当做函数参数 ; 当做函数返回值
1.函数的引用
x = 'hello xichen' # 变量可以引用
y = x
f = f1# 函数也可以引用
print(f1)
2.函数当作参数传给一个函数
def f1():
print('xichen')
print(f1)# f1 指向的是一块内存地址,函数名
f1()
# xichen
# <function f1 at 0x0000013991191E18>
# f1是函数名,可以当参数传给另一个函数
def f2(name):
name()
f2(f1)
3.函数可以当作函数的返回值
def f3(name):
return name
res = f3(f1)
res()
4.函数当作容器类型的元素
ls=[1,2,3,f1]
ls[-1]()
5.练习
def pay():
print('支付1e成功')
def withdraw():
print('提现2e成功')
dic = {
'1': pay,
'2': withdraw,
}
while True:
msg = """
'1': 支付,
'2': 提现,
'3': 退出,
"""
print(msg)
choice = input('>>: ').strip()
if choice == '3':
break
elif choice in dic:
dic[choice]()
'1': 支付,
'2': 提现,
'3': 退出,
>>:1
支付1e成功
'1': 支付,
'2': 提现,
'3': 退出,
>>:2
提现2e成功
'1': 支付,
'2': 提现,
'3': 退出,
>>:3