python基础之名称空间和作用域、函数嵌套
一、名称空间
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基础之名称空间和作用域、函数嵌套相关推荐
- python之函数名称空间,作用域,嵌套函数
目录 嵌套函数 定义 名称空间的三大类(只存变量名) 名称空间加载顺序 变量名的查找顺序为 作用域 嵌套函数 定义 函数内部定义的函数,无法在函数外部使用内部定义的函数. def f1():def f ...
- python名称空间_python基础:名称空间与作用域
Python的变量定义后都有自己的作用域,每个作用域内都有名字空间.名称空间就是变量名称与对象的关联关系.Python中使用变量名引用对象,需要使用该变量时,就在命名空间中进行搜索,获取对应的对象.从 ...
- Python基础知识——函数的基本使用、函数的参数、名称空间与作用域、函数对象与闭包、 装饰器、迭代器、生成器与yield、函数递归、面向过程与函数式(map、reduce、filter)
文章目录 1 函数的基本使用 一 引入 二 定义函数 三 调用函数与函数返回值 2 函数的参数 一 形参与实参介绍 二 形参与实参的具体使用 2.1 位置参数 2.2 关键字参数 2.3 默认参数 2 ...
- python 函数可以作为容器对象的元素_python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义...
复习 1. 字符串的比较: 2. 函数的参数:形参与实参 3. 实参的分类:位置实参与关键字实参 4. 形参分类: 1.无值位置形参 2.有值位置形参 3.可变长位置形参 4.有无值关键字形参 5.可 ...
- python中嵌套函数的应用实例-实例详解python函数的对象、函数嵌套、名称空间和作用域...
函数的对象 python中一切皆对象 函数对象的四大功能 引用 def f1(): print("from f1") f1() #调用函数 print(f1) print(&quo ...
- Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal)...
Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal) 名称空间(命名空间): 当程序运行时,代码从上至下一次读取,遇到变量与值, ...
- python函数的全局、局部名称空间及作用域
""" a = 1 def func(): return func() 开辟一个-全局名称空间(当前py文件),将这些对应关系储存在里面,函数是储存成func:funct ...
- 函数对象,名称空间与作用域,闭包,装饰器
函数是第一类对象即可以被当做数据取使用 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 1.可以被引用 先看变量可以怎么玩 age=18 x=age 把 ...
- Py修行路 python基础 (九)作用域 函数嵌套 闭包
名称空间与作用域 变量,函数 分成三种 #内置名称空间 内置函数, 系统函数内部自定义的. python查看内置函数,命令: import builtins dir(builtins) #全局名称空 ...
最新文章
- Linux系统分辨率设置
- 一份可以同时满足传统与互联网业务的Dev平台攻略
- C++运算符重载形式--成员函数or友元函数?
- 读书笔记-大型网站技术架构(核心原理与案例分析)
- Android属性动画源代码解析(超详细)
- 湖南大学计算机考研考什么,2017年湖南大学计算机系统考研大纲
- 5-Dockerfile文件
- MySql-phpMyAdmin
- 「假期余额不足」安排用Python写个时间在线生成器 快夸我
- bootstrap学习笔记(2)表单设计
- 南方cass快捷键命令修改在哪_南方CASS快捷命令
- 最新地形测量全套实习任务指导
- PID参数整定——Z-N方法
- 数据整理(Data Wrangling)
- 了结MySQL information_schema
- google vr 入门之VrPanoramaView制作全景图列表,apm应用性能管理
- 计算机科学与技术的未来发展前景
- golang GPM模型理解
- OS课设:实现二级文件目录系统
- 好好写简历吧!这简历一看就是包装的!!
热门文章
- kvm虚拟化_KVM 虚拟化环境搭建 - WebVirtMgr
- 五、scrapy爬虫框架——logging 模块的使用
- Chapter7-7_Deep Learning for Coreference Resolution
- 接口 vs 抽象类 的区别
- LeetCode 1144. 递减元素使数组呈锯齿状(奇偶分别遍历)
- LeetCode 354. 俄罗斯套娃信封问题(最长上升子序 DP/二分查找)
- LeetCode 994. 腐烂的橘子(图的BFS)
- linux程序运行耗时shell脚本running_time.sh
- pythonb超分辨成像_深度原理与框架-图像超分辨重构-tensorlayer
- linux java 共享内存_Linux进程间通信之共享内存