zoukankan      html  css  js  c++  java
  • python--函数对象的学习

    #1.可以把函数当作变量去用,可以赋值
    # func=内存地址
    def func():
        print("from func")
    f=func
    print(f,func)
    f()
    func()
    <function func at 0x105f071f0> <function func at 0x105f071f0>
    from func
    from func
    #2.可以当作函数的参数传给另一个函数
    def func():
        print("from func")
    def foo(x):
        x()
        print(x)
    foo(func)
    from func
    <function func at 0x103b151f0>
    #3。可以当作函数当作另一个函数的返回值
    
    
    def foo(x): #x=func的内存地址
    return x #返回func的内存地址
    res=foo(func) #foo(func的内存地址)
    print(res) #打印func的内存地址
    res()
    res()
    <function func at 0x10bc791f0>
    from func

    #4. 

    #4。可以当作容器类型的一个元素
    l=[func,]
    print(l)
    l[0]()
    
    dic={"k1":func}
    print(dic)
    dic['k1']()
    [<function func at 0x10ff401f0>]
    from func
    {'k1': <function func at 0x10ff401f0>}
    from func
    #ATM 练习
    def login():
        print("登陆功能")
    def transfer():
        print("转账功能")
    def check_balance():
        print("查询余额")
    def register():
        print("注册功能")
    
    while True:
        print("""
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        """)
        choice=input("请输入编号:").strip()
        if not choice.isdigit():
            print("请输入正确的指令")
            continue
        if choice=="0":
            break
        func_dic={"1":login,'2':transfer,'3':check_balance,'4':register}
        if choice in func_dic:
            func_dic[choice]()
        else:
            print("输入的指令不存在")
    /usr/local/bin/python3.8 /Users/futantan/PycharmProjects/S14/函数的学习/函数对象.py
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        
    请输入编号:1
    登陆功能
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        
    请输入编号:2
    转账功能
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        
    请输入编号:3
    查询余额
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        
    请输入编号:4
    注册功能
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        
    请输入编号:5
    输入的指令不存在
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        
    请输入编号:6
    输入的指令不存在
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        
    请输入编号:aa
    请输入正确的指令
    
        1:登陆功能
        2.转账功能
        3.查询余额
        4.注册功能
        


    ##函数的嵌套
    ##函数的嵌套使用,在调用一个函数的过程中又调用另外一个函数
    def max2(x,y):
        if x > y:
            return x
        else:
            return y
    
    def max4(a,b,c,d):
        res1=max2(a,b)
        res2=max2(res1,c)
        res3=max(res2,d)
        return res3
    res = max4(3,4,5,6)
    print(res)
    
    
    /usr/local/bin/python3.8 /Users/futantan/PycharmProjects/S14/函数的学习/函数对象.py
    6
    
    Process finished with exit code 0
     
  • 相关阅读:
    Linux关闭防火墙命令
    js改变数组的两个元素的位子,互换、置顶
    vue nexttick的理解和使用场景
    vue mint-ui 框架下拉刷新上拉加载组件的使用
    vue项目中使用了vw适配方案,引入第三方ui框架mint-ui时,适配问题解决
    小程序开发笔记【二】,抽奖结果json数据拼装bug解决
    gulp插件gulp-nunjucks-render的使用及gulp4的简单了解
    小程序开发笔记【一】,查询用户参与活动列表 left join on的用法
    mysql数据插入前判断是否存在
    微信公众号通过图片选取接口上传到阿里oss
  • 原文地址:https://www.cnblogs.com/clairedandan/p/14130524.html
Copyright © 2011-2022 走看看