• DAY11学习笔记


      函数

        命名关键字函数:在定义函数时,*与**之间的参数称之为命名关键字函数。

          特点:在调用函数时,命名关键字参数必须按照key=value的形式传值。

      函数对象

        函数第一类对象:指的是函数的内存地址可以像一个变量值一样去使用。

          变量值可以被引用;变量值可以当做参数传给另外一个函数;变量值可以当做函数返回值;变量值可以当做容器类型的元素。

      函数的嵌套调用:在一个函数内部又调用其他函数。

        定义:在函数内又定义了其他函数。

      名称空间与作用域

        名称空间相关:

          名称空间(Namespaces):指的就是存放名字与值内存地址绑定关系的地方(内存空间)

          名称空间分为三大类:内置名称空间:存放的是python解释器自带的名字。

                           产生:python解释器启动时,产生。

                           销毁:python解释器关闭时,销毁。

                    全局名称空间:在顶级定义的名字。

                           产生:执行python程序时,产生。

                           销毁:python程序执行完之后,销毁。

                    局部名称空间;在函数内定义的名字。

                           产生:在函数调用时,临时产生。

                           销毁:在函数调用完毕后,则销毁。

            (三种名称空间的产生的先后顺序:内置=>全局=>局部)

            (查找名字的顺序时:从当前位置往外一层一层查找)

              (如果当前在局部名称空间:局部=>全局=>内置)(如果当前在全局名称空间:全局=>内置)

        作用域

          作用域指的是作用范围(!!!作用域关系是在函数定义阶段就已经固定死了,与调用位置无关!!!)

          全局作用域:包含内置与全局名称空间的名字。

            特点:全局存活,全局有效。

          局部作用域:包含局部名称空间的名字。

            特点:临时存活,局部有效。

        闭包函数

          闭:封闭,指的是该函数是定义一个函数内部的函数。

          包:该内部函数包含对外层函数名字的引用。

          函数传值的两种方式:直接以参数的形式传入。

                    例:def foo(name):

                        print('hello %s' %name)

                      foo('egon')

                      foo('egon')

                      foo('egon')

                    闭包函数。

                    例:def outter(name):

                        # name='egon'

                        def foo():

                               print('hello %s' %name)

                        return foo
                      f=outter('egon')

                      # print(f)

                      f()

                      f()

                      f()
                      

                      f1=outter('alex')

                      f1()

                      f1()

                      f1()

  • 相关阅读:
    G. Reducing Delivery Cost 思维+最短路
    Bounding Wall 线段树 + 思维 ccpc 2020 秦皇岛 B
    Java代理模式
    Java开发 使用反射判断一个类的是否继承指定接口类
    Java开发 AES加解密工具类——兼容Android9.0
    Java byte转换工具类
    注册LiveData或者MutableLiveData的观察者导致的内存泄露问题
    Android开发 NavOptions记录
    关于MySQL的命名规范
    Locust学习笔记(5)
  • 原文地址:https://www.cnblogs.com/lipengjia/p/9708497.html
Copyright © 2020-2023  润新知