zoukankan      html  css  js  c++  java
  • day16 笔记

    1.函数对象:函数本质上与变量类似,因此可以将函数当做变量来用。
    (1)可以赋值 f = func()
    (2)可以当做函数参数传入 foo(func)
    (3)可以把函数当做另一个函数的返回值 return func
    (4)可以当做容器类型的一个元素 list = [func,1]
    2.函数嵌套
    1.嵌套调用:在调用一个函数过程中又调用其他函数
    2.嵌套定义:在函数内定义其他函数
    3.闭包函数:实质上就是空间+作用域+嵌套+对象的概念
    什么是闭包函数?
    闭指的是函数定义在另一个函数里面 内嵌函数
    包指的是该函数对外层函数作用域名字的引用
    为什么要有闭包函数?
    传参方式:1.直接定义参数形成形参
    2.形成闭包函数,在上层定义函数

    函数对象应用示范:
    
    # 案例:函数对象优化分支if
    def login():
        print('登录功能')
    
    def transfer():
        print('转账功能')
    
    def check_banlance():
        print('查询余额')
    
    def withdraw():
        print('提现')
    
    def register():
        print('注册')
    
    func_dic = {
        '0': ['退出', None],
        '1': ['登录', login],
        '2': ['转账', transfer],
        '3': ['查询余额', check_banlance],
        '4': ['提现', withdraw],
        '5': ['注册', register]
    }
    # func_dic['1']()
    
    while True:
        for k in func_dic:
            print(k, func_dic[k][0])
    
        choice = input('请输入命令编号:').strip()
        if not choice.isdigit():
            print('必须输入编号,傻叉')
            continue
    
        if choice == '0':
            break
    
        # choice='1'
        if choice in func_dic:
            func_dic[choice][1]()
        else:
            print('输入的指令不存在') 
    传参的方案一:
    # def get(url):
    #     response=requests.get(url)
    #     print(len(response.text))
    #
    # get('https://www.baidu.com')
    # get('https://www.cnblogs.com/linhaifeng')
    # get('https://zhuanlan.zhihu.com/p/109056932')
    
    
    # 传参的方案二:
    def outter(url):
        # url='https://www.baidu.com'
        def get():
            response=requests.get(url)
            print(len(response.text))
        return get
    
    baidu=outter('https://www.baidu.com')
    baidu()
    
    cnblogs=outter('https://www.cnblogs.com/linhaifeng')
    cnblogs()
    
    zhihu=outter('https://zhuanlan.zhihu.com/p/109056932')
    zhihu()
    

      

  • 相关阅读:
    Mach-O 加载命令(Load commands)
    Mach-O文件介绍之loadcommand
    趣探 Mach-O:加载过程
    Forking and Executing the Process
    XNU加载Mach-O和dyld
    OSX内核加载mach-o流程
    App Launch Sequence on iOS
    操作系统 = 内核 + 服务
    OS X kernel architecture
    OSX架构概述
  • 原文地址:https://www.cnblogs.com/Jicc-J/p/12548849.html
Copyright © 2011-2022 走看看