Day11名称空间,作用域,闭包函数
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名称空间,作用域,闭包函数相关推荐
- python 3.28 第三章 函数嵌套/名称空间//内置名称空间/全局名称空间/局部名称空间/作用域/函数对象/闭包函数。...
1 函数嵌套: 函数内可以调用了其他的函数. # def max2(x,y):# if x > y:# return x# else:# return y## def max3(x,y,z):# ...
- 动态参数 名称空间 作用域 作用域链 加载顺序 函数的嵌套 global nonlocal 等的用法总结...
03,动态参数 *args,**kwargs # 用户传入到函数中的实参数量不定时,或者是为了以后拓展,# 此时要用到动态参数*args,**kwargs(万能参数.)# *args接收的是所有的位置 ...
- 函数对象,名称空间与作用域,闭包,装饰器
函数是第一类对象即可以被当做数据取使用 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 1.可以被引用 先看变量可以怎么玩 age=18 x=age 把 ...
- python 函数可以作为容器对象的元素_python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义...
复习 1. 字符串的比较: 2. 函数的参数:形参与实参 3. 实参的分类:位置实参与关键字实参 4. 形参分类: 1.无值位置形参 2.有值位置形参 3.可变长位置形参 4.有无值关键字形参 5.可 ...
- 函数的嵌套,名称空间和作用域
假如有一个函数,实现返回两个数中的较大值: def my_max(x,y):m = x if x>y else yreturn mbigger = my_max(10,20)print(bigg ...
- python之函数名称空间,作用域,嵌套函数
目录 嵌套函数 定义 名称空间的三大类(只存变量名) 名称空间加载顺序 变量名的查找顺序为 作用域 嵌套函数 定义 函数内部定义的函数,无法在函数外部使用内部定义的函数. def f1():def f ...
- day03 文件操作 函数 参数 返回值 作用域和名称空间 global和nonlocal
一.文件 (一)文件操作 open(文件, mode="", encoding="utf-8") 文件读取: r(read) 1. readline() 读取一 ...
- 笔记②:牛客校招冲刺集训营---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 友元 友 ...
- C++内联函数、友元函数、名称空间
内联函数:C++为提高程序运行速度所做的一项改进. 常规函数和内联函数的区别在于:C++编译器如何将它们组合到程序中.源程序编译得到可执行程序--由一组机器语言指令组成.运行程序时,OS将这些指令载入 ...
- python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...
本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...
最新文章
- office技巧——编号与文字之间的空白大小调整
- 大型网站的灵魂——性能
- 【HeadFirst 设计模式总结】1.策略模式
- 动物麻醉剂量和途径相关要点
- 免费下载 | 超全算法题精解,一本能“在线”编程的面试宝典
- javascript高级程序设计pdf_2019年最好的JavaScript图表库
- POJ2154(Pólya定理与欧拉函数优化)
- spring序列化_使用@JsonIdentityInfo的Spring自定义序列化器
- php-cli和php-fpm FastCgi与PHP-fpm之间的关系
- mysql+影响的行数+获取_CI中获取读操作的结果集行数+获取写操作的影响行数
- 第五章 处理器拦截器详解
- 布局智能家居 三大电信运营商进展如何?
- ubuntu查看各种版本号
- 本博客排名从37533到984的各种数据记录
- mysql zhu 主从复制_MySQL主从复制--原理
- ANSYS 有限元分析 坐标系/工作平面
- nios 双核 烧录_Nios程序烧写到EPCS方法
- 包看包会的变量与数据类型
- 用python实现一个自动保存复制图片的功能
- 李清照最经典的10首诗词