• 函数的进阶


    函数的进阶

    动态参数

    *args  动态位置参数 

    *在形参位置叫做聚合

    以位置的形式传参  得到的是元组

    **kwargs  动态默认参数

    **在形参的时候是聚合  

    以关键字的形式传参  得到的是字典

    args 和 kwargs 是可以更换的,但程序员约定都是它

    用途

    在不明确接受参数的数量时,用*args 和 **kwargs

    参数位置

    形参 : 位置参数 > 动态位置参数(*args) > 默认参数 > 动态默认(关键字)参数(**kwargs)

    实参 : 位置参数 > 关键字参数

    在实参调用的时候,*是将可迭代的对象打散,字典是将键取出

    在形参处出现*就是在聚合

    在实参调用的时候,**就是将字典打散成 关键字参数 (键 = 值)

    在形参出出现**就是将关键字参数聚合成一个字典

    函数的注释

    定义完函数后写 """ """ 即可添加注释

    查看注释  print(函数名.__doc__)

    查看函数名 print(函数名.__name__)

    名称空间

    内置空间:内置空间中所有代码

    全局空间:自己写的py文件

    局部空间:函数中的代码

    加载顺序:  内置空间 > 全局空间 > 局部空间

    取值(查找)顺序:局部空间 > 全局空间 > 内置空间    (找不到就报错)

    作用域

    全局作用域:内置+全局 = 全局作用域

    局部作用域:函数内的就是局部作用域

    global 和 nonlocal

    global:声明要在全局里修改一个变量 在局部修改全局变量,没有就创建一个

    nonlocal:在一个局部空间内,nonlocal会修改离它最近的变量,如果上一层没有,就继续向上找,直到局部空间头部

    函数的嵌套

  • 相关阅读:
    解决Android的ListView控件滚动时背景变黑
    倒计时实现网页跳转
    java获取当前路径
    JavaScript笔记之面向对象
    Jqery调用WebService(.Net3.5环境下)
    Android开发:TabActivity中onKeyDown无法响应的解决方法
    最近不知道什么时候开始D3D11CreateDevice返回E_FAIL
    C++ allocator及一些影响程序性能的因素
    AOP切面编程 几年前写的,移过来
    Adaptive Transparency
  • 原文地址:https://www.cnblogs.com/biulo/p/10533133.html
Copyright © 2020-2023  润新知