Day11

1.函数对象: ①可以被引用
​ ②可以作为另一个函数的参数
​ ③可以作为另一个函数的返回值0
​ ④可以被存储到容器类型中

2.函数嵌套:
①嵌套调用:在一个函数中调用了另一个函数
​ ②嵌套定义:在一个函数内定义了另一个函数

​ 特点:定义在函数内的函数只能在函数内使用,外界不能直接访问

3.名称空间:存储名字与内存地址对应关系的空间

​存储名称的空间,名称空间中,名字与内存地址一一对应

内置名称空间:解释器自带的名称与值的对应关系
python解释器启动的时创建,关闭python解释器销毁

全局名称空间:文件级别的名称,除了内置的和函数内的都在全局名称空间
执行py文件时创建,执行完毕时销毁

局部名称空间:只要是函数内的名称就在局部名称空间
调用函数时创建,函数执行完毕就销毁

加载顺序,1.内置,2,全局3.局部
查找顺序,1.局部 2,全局 3,内置

4.作用域:
域指的是区域,范围的意思
全局的名称空间和内置的名称空间,在使用上没什么区别
局部和全局的,内置的,就有区别了,局部定义的只能在局部使用

给三个空间划分范围
全局和内置的可以划分到一个范围内
global全局范围,就是所谓的全局作用域

局部的单独划分为一个范围
local 局部作用域

globals() 查看全局作用域中的内容
dir(globals()["_builtins_"])

locals() 查看作用域中的内容

global明确声明,要使用全局中的age

nonlocal使用闭包函数外部函数变量 nonlocal
明确声明使用上一层中的a,如果上一层没有a,则找找上上层,不能找全局

5.闭包函数:
1.定义在另一个函数内
2.在内部函数中使用外部的名称

函数的作用域在定义时就已经固定好,与调用位置没有关系
在返回这个内容的函数时,不是单纯的返回函数,还把函数中访问到的局部名称一起打包了
相当于将内部函数与访问的数据打包在一起了(数据不包含全局变量)

转载于:https://www.cnblogs.com/robert-zhou/p/10035705.html

Day11名称空间,作用域,闭包函数相关推荐

  1. python 3.28 第三章 函数嵌套/名称空间//内置名称空间/全局名称空间/局部名称空间/作用域/函数对象/闭包函数。...

    1 函数嵌套: 函数内可以调用了其他的函数. # def max2(x,y):# if x > y:# return x# else:# return y## def max3(x,y,z):# ...

  2. 动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结...

    03,动态参数 *args,**kwargs # 用户传入到函数中的实参数量不定时,或者是为了以后拓展,# 此时要用到动态参数*args,**kwargs(万能参数.)# *args接收的是所有的位置 ...

  3. 函数对象,名称空间与作用域,闭包,装饰器

    函数是第一类对象即可以被当做数据取使用 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 1.可以被引用 先看变量可以怎么玩 age=18 x=age 把 ...

  4. python 函数可以作为容器对象的元素_python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义...

    复习 1. 字符串的比较: 2. 函数的参数:形参与实参 3. 实参的分类:位置实参与关键字实参 4. 形参分类: 1.无值位置形参 2.有值位置形参 3.可变长位置形参 4.有无值关键字形参 5.可 ...

  5. 函数的嵌套,名称空间和作用域

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

  6. python之函数名称空间,作用域,嵌套函数

    目录 嵌套函数 定义 名称空间的三大类(只存变量名) 名称空间加载顺序 变量名的查找顺序为 作用域 嵌套函数 定义 函数内部定义的函数,无法在函数外部使用内部定义的函数. def f1():def f ...

  7. day03 文件操作 函数 参数 返回值 作用域和名称空间 global和nonlocal

    一.文件 (一)文件操作 open(文件, mode="", encoding="utf-8") 文件读取: r(read) 1. readline() 读取一 ...

  8. 笔记②:牛客校招冲刺集训营---C++工程师(面向对象(友元、运算符重载、继承、多态) -- 内存管理 -- 名称空间、模板(类模板/函数模板) -- STL)

    0618 C++工程师 第5章 高频考点与真题精讲 5.1 指针 & 5.2 函数 5.3 面向对象(和5.4.5.5共三次直播课) 5.3.1 - 5.3.11 5.3.12-14 友元 友 ...

  9. C++内联函数、友元函数、名称空间

    内联函数:C++为提高程序运行速度所做的一项改进. 常规函数和内联函数的区别在于:C++编译器如何将它们组合到程序中.源程序编译得到可执行程序--由一组机器语言指令组成.运行程序时,OS将这些指令载入 ...

  10. python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...

    本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...

最新文章

  1. office技巧——编号与文字之间的空白大小调整
  2. 大型网站的灵魂——性能
  3. 【HeadFirst 设计模式总结】1.策略模式
  4. 动物麻醉剂量和途径相关要点
  5. 免费下载 | 超全算法题精解,一本能“在线”编程的面试宝典
  6. javascript高级程序设计pdf_2019年最好的JavaScript图表库
  7. POJ2154(Pólya定理与欧拉函数优化)
  8. spring序列化_使用@JsonIdentityInfo的Spring自定义序列化器
  9. php-cli和php-fpm FastCgi与PHP-fpm之间的关系
  10. mysql+影响的行数+获取_CI中获取读操作的结果集行数+获取写操作的影响行数
  11. 第五章 处理器拦截器详解
  12. 布局智能家居 三大电信运营商进展如何?
  13. ubuntu查看各种版本号
  14. 本博客排名从37533到984的各种数据记录
  15. mysql zhu 主从复制_MySQL主从复制--原理
  16. ANSYS 有限元分析 坐标系/工作平面
  17. nios 双核 烧录_Nios程序烧写到EPCS方法
  18. 包看包会的变量与数据类型
  19. 用python实现一个自动保存复制图片的功能
  20. 李清照最经典的10首诗词

热门文章

  1. Unity WebGL与IIS小坑
  2. CSS 控制滚动条样式
  3. 偶尔看到的c11新特性1
  4. T-SQL之条件链接
  5. 提交文件到svn,提示is not under version control
  6. 待看内容 20160823
  7. 推荐一款 ES 集群可视化工具:Cerebro,简单、实用!
  8. Redis 如何存储上亿级别的用户状态?
  9. 写这么骚的代码,真不怕被同事揍么?
  10. 从病毒手里抢时间:百度研究院研发RNA测序算法检测速度提升120倍