• 函数


    函数

    初识函数

    以功能为导向的,一个函数实现一个功能

    函数增加了代码的复用性,和可读性

    函数的结构

    def 函数名(参数):
        #函数体
        ...
        return 返回值
    函数名(参数)## 函数的执行/调用 
    
    

    函数的调用

    函数名 + (参数) 函数的执行者

    函数的返回值

    返回给 函数的执行者

    return ## 返回None

    return a ## 返回 a

    return a,b ## 返回(a,b)

    函数的传参

    实际参数

    调用时传入的是实际参数

    1 位置参数 一一对应

    2 关键字参数

    3 混合参数 ## 传参数时 关键字必须要写在默认参数的后面

    形式参数

    1 位置参数

    2 默认值参数 # 在位置参数的后面,传值时可以关键字传,也可以位置传

    3 万能参数

    *args (函数定义时,将实参角度的所有位置参数,聚合到一个元组中,重点是 * )

    **kwargs(函数定义时,将实参角度所有关键字参数,聚合到一个字典中)

    4 仅限关键字参数:位置在默认参数和**kwargs之间,只能以关键字的方式传值

    * 的魔性用法

    * 实际是 迭代后面的对象
    当函数定义时,*代表聚合   **聚合关键字参数 成字典
    当函数执行时,*代表打散/解构   **打散字典
    
    函数外,* 可以接收剩余元素
    lis = [1,2,3,4,5]
    a,b,*c = lis
    print (c)
    ## [3,4,5]
    注意 a,*c,b = (1,2,3,4,5)  此时的 c 也是列表类型  [2,3,4]
    

    空间角度研究函数

    全局命名空间

    py文件运行时,储存执行的py文件中(除去函数内部)的所有变量与值或地址的对应关系,整个py文件结束后,才会消失

    局部(临时)命名空间

    函数执行时,在内存中临时开辟的一个空间,存放的是函数中的所有变量和值或地址的对应关系,函数执行结束,就会释放临时空间

    内置命名空间

    input print 等内置函数等

    取值顺序和加载顺序

    加载顺序: 内置-->全局-->(函数执行时)局部

    取值顺序: 就近原则 局部 -- > 全局 -- > 内置

    作用域

    全局作用域:全局命名空间 内置命名空间

    局部作用域:局部命名空间

    globals() locals()

    globals 返回全局作用域的所有变量和值

    locals 返回当前作用域的所有变量和值

  • 相关阅读:
    pip 8 安装
    zabbix server配置文件
    双代号网络图、双代号时标网络图
    logrotate
    tsql 执行存储过程
    dos 加用户
    Visual Studio (VS IDE) 你必须知道的功能和技巧
    格式化数字字符串 与C#变量
    .NET中的字符串你了解多少?
    新手如何有效地学习.NET
  • 原文地址:https://www.cnblogs.com/albert0823/p/11045338.html
Copyright © 2020-2023  润新知