名称空间与作用域

变量,函数

分成三种

#内置名称空间  内置函数,

系统函数内部自定义的。

python查看内置函数,命令:

import builtins

dir(builtins)

#全局名称空间  文件中 顶头写,没有任何缩进定义的函数或是变量。

定义之后,在整个文件的任何位置都可以用。

#局部名称空间

定义之后,在局部环境内可以调用,例如在一个定义函数中定义的变量,只能在当前函数内部调用,往外全局或是其他函数均不能调用。

在外部,或是其他定义的函数调用的话,会报错!

内置和全局名称空间 合称全局作用域

局部名称空间 叫做局部作用域

  #先定义后使用!!!

使用寻找过程: 局部找 本层找不到的话,会依次往上一层定义的函数去找,找不到--->全局找 ,全局找不到的话 ---> 从系统的内置找

名称文件的查询  全局:globals()   局部:locals()  输出为字典格式

x=1

def func()

print("from func")

x=2

print(globals())

函数嵌套及静态嵌套域

#嵌套调用

#嵌套定义

函数对象与闭包

函数是第一类对象。

函数可以被赋值,

可以把函数当成参数传递,

把函数当成返回值,

把函数当成容器类型的元素。

#闭包

定义:首先必须是内部定义的函数,该函数包含对外部作用域而不是全局作用域名字的引用。

没值的话会返回None.

无参装饰器

转载于:https://www.cnblogs.com/zh605929205/p/6682071.html

Py修行路 python基础 (九)作用域 函数嵌套 闭包相关推荐

  1. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块...

    一.前提介绍: 可以开辟作用域的只有类,函数,和模块            for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...

  2. Py修行路 python基础 (五)三元运算 字符编码 元组 集合 三级菜单优化!

    三元运算 条件判断不能加冒号: a=3 b=5 c=a if a<b else b oct() 转成八进制的简写: 16进制 标志:BH为后缀或是0x为前缀 hex() 转成16进制 元组 跟列 ...

  3. python中继承和组合的区别_Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类...

    一.前提回忆: 1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均 ...

  4. python 日志输出为json格式文件_Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)...

    一.日志模块 两种配置方式:1.config函数 2.logger #1.config函数 不能输出到屏幕 #2.logger对象 (获取别人的信息,需要两个数据流:文件流和屏幕流需要将数据从两个数据 ...

  5. Python基础day05【函数(局部变量、全局变量、多函数执行流程、函数返回值、函数参数)、拆包、引用、可变与不可变类型、函数注意事项】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  6. python导入模块的语法结构_python学习第五讲,python基础语法之函数语法,与Import导入模块....

    python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 函数,就是一个代码块,这个代码块是别人写好的.我们调用就可以. 函数也可以称为方法. 1.函数语法定义 ...

  7. Python训练营—Tesk3—Python基础进阶—从函数到高级魔方方法

                    Python基础进阶--从函数到高级魔方方法 目录 Python基础进阶--从函数到高级魔方方法 一.函数 1.函数的定义 2.函数的调用 3.函数参数 4.变量作用域 ...

  8. Python基础day05【函数应用:学生管理系统、拆包、今日总结】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  9. python什么元素为真_如何使用Python基础内置函数

    如何使用Python基础内置函数 发布时间:2020-08-05 13:46:59

最新文章

  1. ONNX 实时graph优化方法
  2. 创建JAVASCRIPT对象3种方法
  3. 【东软实训】SQL多表链接
  4. 力扣191.位1的个数
  5. opencms内容管理入门指南pdf_企业微信管理员训练营回顾(三) | 企业微信高效协作入门指南...
  6. RHEL下SendMail修改发邮箱地址
  7. linux 共享内存_linux进程间通信----IPC篇(一)----共享内存初识篇
  8. 云查毒:避免恶意程序入侵的正确姿势
  9. flutter 漂亮聊天UI界面实现 flutter-chatUI-again (11)
  10. kettle实例-高级转换-数据合并
  11. windows10下安装Box2D
  12. 【前端技术】一篇文章搞掂:HTML
  13. 秋招手撕代码:4bit转换为1bit,且是慢时钟域到快时钟域
  14. Innovation - Face++ - 当人脸识别遇上互联网
  15. android8.1 相机(SnapdragonCamera)长按拍照时关闭闪光灯
  16. 学校单位公司局域网如何封锁QQ,禁止QQ,禁止在线音乐等
  17. ObjectARX编程--圆弧
  18. QSettings介绍与使用
  19. 记一次堡垒机使用putty连接机器出现信息丢失问题
  20. 为什么测试环境测试通过,线上还会有bug?

热门文章

  1. gradle插件用户指南(翻译)
  2. mysql myisam存储引擎_MySQL浅谈MyISAM存储引擎
  3. 计算机地图制图知识点,地图制图知识点整理
  4. c语言程序结果 856400,C语言程序设计答案(黄保和编)第3章.pdf
  5. 【实验】DHCP、NAT配置案例
  6. android音频调制通讯,android音频口通信(一)——2FSK信号调制
  7. canvas rotate 累加旋转_【教研动态】音乐活动中,使用材料累加情境的适宜性
  8. Jmeter之定时器操作
  9. 计算机视觉应用的简称,计算机视觉应用之图像检索任务简单介绍
  10. 导购提成怎么算_only导购工资提成怎么算标准