函数对象

函数是第一类对象,即函数可以被当做数据处理。

def func():
    print('from func')


print(func)
<function func at 0x10af72f28>

函数对象的四大功能(掌握)

1.引用

x = 'hello nick'
y = x

f = func
print(f)
<function func at 0x10af72f28>

2.当作参数传给一个函数

len(x)


def foo(m):
    m()


foo(func)
from func

3.可以当作函数的返回值

def foo(x):
    return x


res = foo(func)
print(res)
res()
<function func at 0x10af72f28>
from func

4.可以当作容器类型的元素

l = [x]

function_list = [func]
function_list[0]()
from func

练习(掌握)

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 函数的参数

    py3study
  • Python函数式编程之装饰器

    py3study
  • Python全栈开发之---装饰器

    你觉得碍眼,python的开发者也觉得碍眼,所以就为我们提供了一句语法糖来解决这个问题!

    py3study
  • python笔记36-装饰器之wraps

    前面一篇对python装饰器有了初步的了解了,但是还不够完美,领导看了后又提出了新的需求,希望运行的日志能显示出具体运行的哪个函数。

    上海-悠悠
  • package sync

    sync包提供了基本的同步基元,如互斥锁。除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些。

    李海彬
  • 73-递归函数计算阶乘

    凯茜的老爸
  • Python笔记:装饰器(面向切面)

    http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html

    超级大猪
  • 小朋友学Python(27):全局变量的引用和修改

    一、引用 例1 a = 1 def func(): if 1 == a: print("a = %d" % a) if __name__...

    海天一树
  • go语言的匿名函数

    1-声明一个匿名函数 func(参数列表) 返回值列表 { 函数体… } 2-匿名函数的调用

    李海彬
  • JavaScript依赖注入的实现思路

    JavaScript依赖注入的实现思路 如今各个框架都在模块化,连前端的javascript也不例外。每个模块负责一定的功能,模块与模块之间又有相互依赖,那么问...

    用户1289394

扫码关注云+社区

领取腾讯云代金券