Python函数名的4种玩法
在Python中,函数是第一类对象,函数是第一等公民。
函数对象(函数名)就是函数的内存地址。
函数对象(函数名)的4种玩法:本质就是 将函数当变量用。
- 可以赋值。
- 可以当做参数传给另外一个函数。
- 可以当做函数的返回值。
- 可以当成容器类型的元素。
代码演示:
------------------玩法1:函数名可以当成变量赋值------------------ def index(): print('from index') a = index a() print(a) # 函数名就是内存地址
-----------------玩法2:函数名可以当成函数的参数------------------ def index(): print('from index') def func(a): # a => index a() print('from func') func(index)
----------------玩法3:函数名也可以当成函数的返回值---------------- def index(): print('from index') def func(): print('from func') return index res = func() res()
----------玩法4:函数名也可以当成容器(可以存放多个元素)类型的元素--------- def index(): print('from index') l = [1, 2, 3, index] print(l) ------------ 小案例 ---------- # 注册功能 def register(): print('注册') # 登录功能 def login(): print('登录') # 转账功能 def transfer(): print('转账') # 购物功能 def shopping(): print('购物') # 提现功能 def withdraw(): print('提现') func_dict = { '1': register, '2': login, '3': transfer, '4': shopping, '5': withdraw } while True: print(""" 1. 注册 2. 登录 3. 转账 4. 购物 5. 提现 """) choice = input('请输入序号:>>>').strip() if choice in func_dict: func_name = func_dict[choice] # 得到的就是函数的内存地址,函数名 func_name() else: print('请好好输入')