一、名称空间

1、定义:存放名字与值的绑定关系

2、名称空间分为:内置名称空间、全局名称空间、局部名称空间

内置名称空间:python解释器自带的名字,python解释器启动就会生成

全局名称空间:文件级别定义的名字都会存放与全局名称空间,执行python文件时会产生

局部名称空间:定义在函数内部的名字,局部名称空间只有在调用函数时才会生效,函数调用结束则失效

3、加载的顺序:三者的加载顺序:内置名称空间->全局名称空间->局部名称空间

4、取值的顺序:局部名称空间->全局名称空间->内置名称空间7

# # max=10
# def func(): #x=1
#     # max=20
#     print(max)
#
#
# func()# max=10
#
# def func(): #x=1
#     max=20
#     # print(max)
# func()
#
#
# print(max)
#
# # x=0
# def f1():
#     # x=1
#     def f2():
#         # x=2
#         def f3():
#             # x=3
#             print(x)
#         f3()
#     f2()
#
# f1()

二、作用域

1、范围:

全局作用域:内置名称空间与全局名称空间的名字属于全局范围,在整个文件的任意位置都能被引用,全局有效

局部作用域:局部名称空间的名字属于局部范围,只在函数内部可以被引用,局部有效

# x=1
# def foo():
#     def f2():
#         print(x)
#     f2()
# def bar():
#     print(x)
#
# foo()
# bar()# def f1():
#     x=1
#     def f2(): #f2=value
#         # x=2
#         print(x)
#     f2()
# f1()
x=1
def func():x=2def f1():pass# print(dir(globals()['__builtins__'])) #全局作用域name# print(locals()) #局部作用域name

func()print(globals() is locals())

2、作用顺序是:局部作用域》》》》》》全局作用域

三、函数嵌套

1、函数的嵌套定义

def f1():def f2():def f3():print('from f3')print('from f2')f3()print('from f1')f2()
# print(f1)
f1()

2、函数的嵌套调用

def max2(x,y):if x > y:return xelse:return ydef max4(a,b,c,d):res1=max2(a,b) #23res2=max2(res1,c) #23res3=max2(res2,d) #31return res3
print(max4(11,23,-7,31))

转载于:https://www.cnblogs.com/fenglinglf/p/7003115.html

python基础之名称空间和作用域、函数嵌套相关推荐

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

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

  2. python名称空间_python基础:名称空间与作用域

    Python的变量定义后都有自己的作用域,每个作用域内都有名字空间.名称空间就是变量名称与对象的关联关系.Python中使用变量名引用对象,需要使用该变量时,就在命名空间中进行搜索,获取对应的对象.从 ...

  3. Python基础知识——函数的基本使用、函数的参数、名称空间与作用域、函数对象与闭包、 装饰器、迭代器、生成器与yield、函数递归、面向过程与函数式(map、reduce、filter)

    文章目录 1 函数的基本使用 一 引入 二 定义函数 三 调用函数与函数返回值 2 函数的参数 一 形参与实参介绍 二 形参与实参的具体使用 2.1 位置参数 2.2 关键字参数 2.3 默认参数 2 ...

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

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

  5. python中嵌套函数的应用实例-实例详解python函数的对象、函数嵌套、名称空间和作用域...

    函数的对象 python中一切皆对象 函数对象的四大功能 引用 def f1(): print("from f1") f1() #调用函数 print(f1) print(&quo ...

  6. Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal)...

    Python Day 10  函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal) 名称空间(命名空间): 当程序运行时,代码从上至下一次读取,遇到变量与值, ...

  7. python函数的全局、局部名称空间及作用域

    """ a = 1 def func(): return func() 开辟一个-全局名称空间(当前py文件),将这些对应关系储存在里面,函数是储存成func:funct ...

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

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

  9. Py修行路 python基础 (九)作用域 函数嵌套 闭包

    名称空间与作用域 变量,函数 分成三种 #内置名称空间  内置函数, 系统函数内部自定义的. python查看内置函数,命令: import builtins dir(builtins) #全局名称空 ...

最新文章

  1. Linux系统分辨率设置
  2. 一份可以同时满足传统与互联网业务的Dev平台攻略
  3. C++运算符重载形式--成员函数or友元函数?
  4. 读书笔记-大型网站技术架构(核心原理与案例分析)
  5. Android属性动画源代码解析(超详细)
  6. 湖南大学计算机考研考什么,2017年湖南大学计算机系统考研大纲
  7. 5-Dockerfile文件
  8. MySql-phpMyAdmin
  9. 「假期余额不足」安排用Python写个时间在线生成器 快夸我
  10. bootstrap学习笔记(2)表单设计
  11. 南方cass快捷键命令修改在哪_南方CASS快捷命令
  12. 最新地形测量全套实习任务指导
  13. PID参数整定——Z-N方法
  14. 数据整理(Data Wrangling)
  15. 了结MySQL information_schema
  16. google vr 入门之VrPanoramaView制作全景图列表,apm应用性能管理
  17. 计算机科学与技术的未来发展前景
  18. golang GPM模型理解
  19. OS课设:实现二级文件目录系统
  20. 好好写简历吧!这简历一看就是包装的!!

热门文章

  1. kvm虚拟化_KVM 虚拟化环境搭建 - WebVirtMgr
  2. 五、scrapy爬虫框架——logging 模块的使用
  3. Chapter7-7_Deep Learning for Coreference Resolution
  4. 接口 vs 抽象类 的区别
  5. LeetCode 1144. 递减元素使数组呈锯齿状(奇偶分别遍历)
  6. LeetCode 354. 俄罗斯套娃信封问题(最长上升子序 DP/二分查找)
  7. LeetCode 994. 腐烂的橘子(图的BFS)
  8. linux程序运行耗时shell脚本running_time.sh
  9. pythonb超分辨成像_深度原理与框架-图像超分辨重构-tensorlayer
  10. linux java 共享内存_Linux进程间通信之共享内存