zoukankan      html  css  js  c++  java
  • 学习总结(十二)

    1.表达式

    1)三元表达式

          xxx if num>0 else xxxx

    2) 列表推导式

         [i for i in range(1,10)]

    3) 字典推导式

        { k,v for k,v in enumerate("abc')}

    2.函数对象的作用

       函数名存放了函数的内存地址,变量,即函数名就是函数对象

        1) 函数对象可以直接被引用

         2)函数对象可以做为参数传递

         3)函数对象可以获取返回值

          4)函数对象可以做为容器类型

          

    3.名称空间的作用

          名称空间:存放名字与内存空间地址相互对应关系的容器,是用来解决由于名字有限,导致名字重复冲突的问题

          三种名称空间:

           Built-in:内置名称空间:系统级,一个随解释器执行而产生,解释器停止而销毁的名称空间

            Global:全局名称空间:文件级,多个:随所属文件加载而产生,文件运行完毕而销毁

            Local:局部名称空间:函数级,多个随所属函数执行而产生,函数执行完毕而销毁

            del关键字 名字可以移除查找最近的名字与内存空间地址的对应关系

          加载顺序:Built-in > Global >Local

    4.函数的作用域

            作用域:名字起作用的范围

             作用域分为四种:

                       Built-in:内置作用域,作用文件的所有地方

                       Global:全局作用域:作用当前文件的所有地方

                       Enclosing:嵌套作用域:作用当前函数内部被嵌套的函数

                      Local:局部作用域:作用当前函数内部

          作用域的查找顺序:Local>Enclosing>Global>Built-in 

    5.函数的闭包

             closure:被包裹的函数,称之为闭包

            完整的闭包结构:1.将函数进行闭包处理;2.提升函数名的作用域

    案例:延迟加载
    def get_site(url): #url='https://www.baidu.com'
    def site():
         response=requests.get(url)
        if response.status_code == 200:
    print(response.text)

    return site

  • 相关阅读:
    最小生成树
    线段树
    编程快捷键
    线段树的动态开点
    常用库
    线性求逆元
    文件读入
    树上倍增(LCA)
    set容器
    快读与快写
  • 原文地址:https://www.cnblogs.com/xzcvblogs/p/10776501.html
Copyright © 2011-2022 走看看