二十八.函数进阶

  1.   "*"  和  "**"

    ① 在形参位置时   都是聚合的作用

      *args    位置参数→元组

      **kwargs   关键字参数→字典

    混合时顺序为: 位置  , *args ,  默认值 , **kwargs

    ② 在实参位置时    都是打散的作用

      *args      字符串,元组,字典 → 位置参数

      **kwargs     字典 → 关键字参数

  2.名称空间    用来存放名字(变量, 函数名, 类名, 引入的模块名)的

      1. 全局名称空间: 我们在py文件中自己写的变量, 函数.....

      2. 内置名称空间: 我们python解释器提供好的一些内置内容(print, input....)

       3. 局部名称空间: 在我们执行函数的时候.会产生一个局部名称空间.

                放的是: 函数内部的内容(变量, 函数,类...)

    名称空间可能会有无数个, 局部名称空间而言. 相对是独立的.一般互不干扰

  3.作用域

    1). 全局作用域: 内置+全局     

    2). 局部作用域: 局部

    3).  从全局去找局部 -> 找不到

       局部去找全局 -> 可以找到

    4).  globals() 查看全局作用域

       locals() 查看当前作用域

  4.函数的嵌套

    1).查找顺序: 先找自己 -> 上一层 -> 上一层..全局 -> 内置

    2).global: 在 局部 引入 全局 的一个变量

    3).nonlocal: 内层函数(在局部作用域)引入外层离他最近的那个变量.

评论帖子的代码:

python之路---10 *args **kwargs 命名空间 作用域 函数的嵌套的更多相关文章

  1. python --- 10 *args **kwargs 命名空间 作用域 函数的嵌套

    函数进阶 1.   "*"  和  "**" ① 在形参位置时   都是聚合的作用 *args    位置参数→元组 **kwargs   关键字参数→字典 混 ...

  2. 动态参数(*args,**kwargs),命名空间和作用域,global和nonlocal,函数的嵌套

    1. 动态参数 位置参数的动态参数: *args 关键字参数的动态参数 : **kwargs 顺序: 位置,*args,默认值,**kwargs 在形参上*聚合, **聚合 在实参上*打散, **打散 ...

  3. python之动态参数 *args,**kwargs和命名空间

    一.函数的动态参数 *args,**kwargs, 形参的顺序1.你的函数,为了拓展,对于传入的实参数量应该是不固定,所以就需要用到万能参数,动态参数,*args, **kwargs 1,*args ...

  4. python基础学习Day10 函数形参的动态参数、*args **kwargs 命名空间 global 与 nonlocal

    一.函数形参的动态参数 原因:为了拓展,对于实参数量不固定,故需要万能参数,即动态参数, *args   **kwargs # def sum1(*args): # 在函数定义时,在*位置参数,聚合. ...

  5. python之路——10

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 a.函数可读性强,复用性强 def 函数名() 函数体 return 返回值 函数先定义后执行, b. ...

  6. python 全栈开发,Day10(动态参数,命名空间,作用域,函数嵌套)

    一.动态参数 def func(a,b,c,d,e,f,g): pass func(1,2,3,4,5,6,7) 如果加30个参数呢?有没有万能的参数,可以代表一切参数呢? *args 动态参数,万能 ...

  7. python记录_day10 动态传参 命名空间 作用域

    一.动态传参 动态传参用到 *args 和 **kwargs ,*号表示接收位置参数,args是参数名:**表示接收关键字参数,kwargs是参数名 def chi(*food): print(foo ...

  8. python之路day10-命名空间和作用域、函数嵌套,作用域链、闭包

    楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print ...

  9. Python代码中func(*args, **kwargs)

    这是Python函数可变参数 args及kwargs *args表示任何多个无名参数,它是一个tuple **kwargs表示关键字参数,它是一个dict 测试代码如下: def foo(*args, ...

随机推荐

  1. dialog销毁不干净与弹出多个dialog问题

    1.关闭dialog的时候不销毁.重新打开然后影响页面的效果与样式. 原因: dialog的close()只是将html片段隐藏,并没有销毁移除. 解决方式: 打开dialog的时候在写onClose ...

  2. Oracle 用户 表 表空间之间的关系和管理

    文献地址: https://blog.csdn.net/jmilk/article/details/51599260 https://www.cnblogs.com/roger112/p/768530 ...

  3. <Using ZooKeeper><Deploy & Use>

    安装与部署 配置过程相当简单.集群模式部署: wget http://www-us.apache.org/dist/zookeeper/stable/zookeeper-3.4.10.tar.gz t ...

  4. Delphi直接实现分享图片功能

    procedure TCustomCameraViewDoc.ShareTextClick(Sender: TObject); var FSharingService: IFMXShareSheetA ...

  5. scrapy面试一

    1.动态加载又对及时性要求很高怎么处理? Selenium+Phantomjs 尽量不使用 sleep 而使用 WebDriverWait 2.分布式爬虫主要解决什么问题? (1)ip (2)带宽 ( ...

  6. Kafka实践

    1. kafka发送方法 @Component@Import(KafkaAutoProperties.class)public class KafkaProducer { @Autowired pri ...

  7. threejs 空间位置转为屏幕像素xy位置

    function createVector(x, y, z, camera, width, height) { var p = new THREE.Vector3(x, y, z); var vect ...

  8. TCP三次握手及释放连接详解(转)

    一.TCP头部简介 ACK :即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符.表示发来的数据已确认接收无误.TCP报文格式中的控制位由6个标志比特构成,其中一个就是ACK,ACK为1表 ...

  9. ORA-16019搭建DG设置归档线程参数报错

    #操作描述:搭建DG,主库修改参数log_archive_dest_1线程路径报错 ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_ ...

  10. Samsung_tiny4412(驱动笔记03)----字符设备驱动基本操作及调用流程

    /*********************************************************************************** * * 字符设备驱动基本操作及 ...