函数是第一类对象的含义是函数可以被当作数据处理 函数可以被当成数据来处理 函数可以被当成数据来处理:数据可以被引用,可以被传参,可以作为容器里的元素,可以当作返回值。 def func(): #func=函数名在全局名称空间里,存放着函数名和函数的地址 print('from func') print(func) # 返回一个内存地址 func() 函数名的用途 x='hello' 1、引用 y=x def func(): print(1111) f=func # 函数名可以被引用,通过变量名也可以调用函数 print(f) f() # 等同于func() 2、当作参数传给一个函数 函数名可以赋值给变量名,变量名可以作为形参,函数名也可以作为实参向形参传值 def func(): print(666) def foo(m): # print(m) m() foo(func) 3、可以当作函数的返回值 def func(): print(666) def foo(x): #x=func return x #return func # print(x) res=foo(func) print(res) res() 4、可以当作容器类型的元素 def func(): print(666) # l=[x,] l=[func,] # 函数可以被当成变量来处理,可以通过索引取出函数名 # print(l) l[0]() def pay(): print('支付。。。') def withdraw(): print('取款。。。') def transfer(): print('转账。。。') def check_balance(): print('查看余额。。。') def shopping(): print('购物。。。') func_dic={ '1':pay, '2':withdraw, '3':transfer, '4':check_balance, '6':shopping } while True: msg=""" 1 支付 2 取款 3 转账 4 查看余额 5 退出 6 购物 """ print(msg) choice=input('>>: ').strip() if choice == '5':break if choice not in func_dic: print('输入的指令不存在傻叉') continue func_dic[choice]()