• 7.29_python_lx_day11


    一.return 返回值

    自定义函数的返回值,return 可以把值返回到函数的调用处
      (1) return + 六大标准数据类型 , 还有类和对象,函数
      如果不定义return , 默认返回的是None
      (2) 在执行完return之后,立刻终止函数,后面的代码不执行

    global 可以使用global 关键字在函数内部定义一个全局变量

       也可以使用global关键字在函数内部修改一个全局变量

    __doc__ 或者 help查看文档

    函数中的注释可以通过help(函数名) 或 函数名.__doc__ 查看

    二.函数的嵌套

    (1)函数之间可以互相嵌套
      外层的叫做外函数
      内层的叫做内函数

    (2)LEGB 原则 (就近找变量原则)

    找寻变量的调用顺序采用LEGB原则(即就近原则)
    B —— Builtin(Python);Python内置模块的命名空间 (内建作用域)
    G —— Global(module); 函数外部所在的命名空间 (全局作用域)
    E —— Enclosing function locals;外部嵌套函数的作用域(嵌套作用域)
    L —— Local(function);当前函数内的作用域 (局部作用域)
    依据就近原则,从下往上 从里向外 依次寻找

    nonlocal 修改局部变量

      nonlocal遵循LEGB就近找变量原则
      (1)找当前空间上一层的局部变量进行修改
      (2)如果找不到,会继续向上寻找
      (3)最后什么也没有,直接报错

    三.locals 和 globals(了解)

    (1)locals 获取当前作用域中所有变量

    locals 如果在全局,调用locals之后,获取的是打印之前的所有变量,返回字典,全局空间作用域

    1 def func():
    2     ff = 123
    3 a = 1
    4 b = 2
    5 res = locals()
    6 c = 3 
    7 print(res) #获取此行之前的所有变量 返回字典
    8 d = 4

    locals 如果在局部,调用locals之后,获取的是调用之前的所有变量,返回字典,局部空间作用域

     1 a1 = 10
     2 def func():
     3     a = 1
     4     b = 2
     5     res = locals() #获取此行之前的所有变量 返回字典
     6     c = 3
     7     print(res)
     8     d = 4
     9 a2 = 20
    10 func()
    11 a3 = 30

    (2)globals 只获取全局空间中所有变量

    globals 如果在全局,调用globals之后,获取的是打印之前的所有变量,返回字典,全局空间作用域

    1 def func():
    2     ff = 123
    3 a = 1
    4 b = 2
    5 res = globals()
    6 c = 3
    7 print(res) # 获取此行之前的所有变量,返回字典
    8 d = 4

    globals 如果在局部,调用globals之后,获取的是调用之前的所有变量,返回字典,全局空间作用域

     1 a1 = 10
     2 def func():
     3     a = 1
     4     b = 2
     5     res = globals()
     6     c = 3
     7     print(res)
     8     d = 4
     9 a2 = 20
    10 func() # globals 返回此行之前的所有外部变量
    11 a3 = 30
  • 相关阅读:
    迭代加深搜索 codevs 2541 幂运算
    二叉树结构 codevs 1029 遍历问题
    深搜+DP剪枝 codevs 1047 邮票面值设计
    2016.6.10 深度优先搜索练习
    二分+动态规划 POJ 1973 Software Company
    tarjan算法求桥双连通分量 POJ 3177 Redundant Paths
    tarjan算法+缩点:求强连通分量 POJ 2186
    tarjan算法求割点cojs 8
    关键路径 SDUTOJ 2498
    第二章 STM32的结构和组成
  • 原文地址:https://www.cnblogs.com/Magicianlx/p/13394724.html
Copyright © 2020-2023  润新知