zoukankan      html  css  js  c++  java
  • day10 python全栈学习笔记

    函数进阶

    函数进阶
    1,命名空间和作用域
    内置命名空间
    python解释器,一启动时就加在在内存中
    全局命名空间
    从上到下执行的过程中一次加在到内存里
    局部命名空间
    就是函数内部的空间,再用的时候

    2,作用域
    全局作用域
    局部作用域

    local,global 关键字的用法

    nonlocal 只会对局部变量有影响,由邻近到最外层,不会影响全局变量

    函数本质(函数名就是内存地址)

    def func():
        print(123)
    
    func()              #函数名就是内存地址
    func2 = func        #函数名可以赋值
    func2()
    
    
    l = [func,func2]    #函数名可以作为容器类型的元素
    print(l)
    
    for i in l:
        i()
    
    def func():
        print(123)
    def func3(f):
        f()
        return f           #函数名可以作为返回值
    
    laoda = func3(func)    #函数名也可以作为函数的参数
    laoda()
    函数名的使用

    函数嵌套

    a = 1
    def outer():
        a = 1
        def inner():
            a = 2
            def inner2():
                nonlocal a     #nonlocal 对离它最近的上一层找该变量,一直找到局部变量头部,不会找全局变量。全局变量用global。
                a += 1
                print('inner2 a=%s' %a)
            inner2()
            print('inner a=%s' %a)
        inner()
        print('outer a=%s' %a)
    
    print(a)
    outer()
    实现代码

    闭包 (嵌套函数,内部函数调用外部变量)

    # 闭包,嵌套函数,内部函数调用外部函数的变量
    #
    #
    # 我们常用的闭包的形式是这样,闭包的作用和好处是可以延长内部变量的生命周期,在程序结束执行之前不会消失。
    def outer():
        a = 1
        def inner():
            print(a)
        return inner
    
    inn = outer()
    inn()
    
    
    
    #爬虫当中采用的一种闭包形式。
    import urllib
    from urllib.request import urlopen
    # ret = urlopen('http://www.cnblogs.com/Eva-J/articles/7156261.html').read()
    # print(ret)
    
    def get_url():
        url = 'http://www.cnblogs.com/Eva-J/articles/7156261.html'
        def get():
            ret = urlopen(url).read()
            print(ret)
        return get
    
    get_func = get_url()
    get_func()
    实现代码
  • 相关阅读:
    @FeignClient同一个name使用多个配置类报错,解决方案【转+改进】
    spring cloud 与spring boot 版本不匹配引发的问题总结
    无聊系列
    基于redis+lua实现的分布式限流
    elasticsearch 优化笔记
    redis+lua库存扣减和冲正
    es-dsl笔记
    wiki—-Confluence搭建
    Linux常用命令
    SQLSERVER|CDC 日志变更捕获机制
  • 原文地址:https://www.cnblogs.com/laomaohai/p/10060815.html
Copyright © 2011-2022 走看看