• 函数对象


    函数是第一类对象的含义是函数可以被当作数据处理
    函数可以被当成数据来处理
    函数可以被当成数据来处理:数据可以被引用,可以被传参,可以作为容器里的元素,可以当作返回值。



    def func(): #func=<function func at 0x0584BA50> 函数名在全局名称空间里,存放着函数名和函数的地址
    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]()





  • 相关阅读:
    ps太卡
    vba 数字变为excel对应列的字母
    爬去网页离线数据
    vba 得到数字
    Sql Server generate table structure document
    Git
    windows凭据管理器
    修改注册表
    Software List
    1009 说反话
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9150751.html
Copyright © 2020-2023  润新知