Python__名称空间与作用域
一:函数嵌套,在调用一个函数的过程中,又调用了其他函数
def bar(): print('from bar')def foo(): print('from foo') bar()foo()通过函数的嵌套使用,分解成最小的操作,一次调用 二:函数的嵌套定义:在一个函数的内部,又定义了一个函数
def f1(): x = 1 def f2(): print('from f2') f2()f1() 三:名称空间,存放名字的地方,准确的说名称空间是存放名字与变量值绑定关系的地方内置名称空间:python自带的名字,在python解释器启动时产生,存放一些python内置的名字全局名称空间:在执行文件时,存放文件级别定义的名字局部名称空间:在执行文件的过程中,如果调用了函数,则会产生该函数的名称空间,用来存放该函数内定义的名字,该名字在函数调用时生效,调用结束后失效加载顺序:内置名称空间------>全局名称空间----->局部名称空间名字的查找顺序:局部名称空间------>全局名称空间----->内置名称空间 四:作用域,作用的范围全局作用域:全局存活,全局有效局部作用域:局部存活,局部有效
def f1(): x = 1 y = 2 print(locals()) print(globals())f1()print(locals())print(globals())print(locals() is globals())改全局名称:
x = 1def f1(): global x x = 2f1()print(x) 改局部名称:
x = 0 def f1(): x = 1 def f2(): x = 2 def f3(): nonlocal x#改的是函数正上方的值 x = 3 f3() f2()f1() 五:优先掌握,在函数定义时就已经固定,与调用位置无关
x = 1def f1(): def f2(): print(x) return f2func = f1()func()
转载于:https://www.cnblogs.com/wangmengzhu/p/7228015.html
Python__名称空间与作用域相关推荐
- 函数对象,名称空间与作用域,闭包,装饰器
函数是第一类对象即可以被当做数据取使用 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 1.可以被引用 先看变量可以怎么玩 age=18 x=age 把 ...
- 名称空间与作用域、闭包函数、 装饰器
1 名称空间与作用域 2 闭包函数 3 装饰器 6.7 名称空间与作用域 内置名称空间: 存放的是:内置的名字与值的绑定关系 生效:python解释器启动 失效:Python解释器关闭 全局名称空 ...
- python 函数可以作为容器对象的元素_python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义...
复习 1. 字符串的比较: 2. 函数的参数:形参与实参 3. 实参的分类:位置实参与关键字实参 4. 形参分类: 1.无值位置形参 2.有值位置形参 3.可变长位置形参 4.有无值关键字形参 5.可 ...
- 函数对象 函数嵌套 名称空间与作用域
函数对象: 函数是第一类对象,即函数可以当做数据传递 1 可以被引用 2 可以当做参数传递 3 返回值可以是函数 (函数名 不带() 就是函数名的内存地址,带括号就是执行函数) 4 可以当做容器类型 ...
- python中嵌套函数的应用实例-实例详解python函数的对象、函数嵌套、名称空间和作用域...
函数的对象 python中一切皆对象 函数对象的四大功能 引用 def f1(): print("from f1") f1() #调用函数 print(f1) print(&quo ...
- 函数的嵌套,名称空间和作用域
假如有一个函数,实现返回两个数中的较大值: def my_max(x,y):m = x if x>y else yreturn mbigger = my_max(10,20)print(bigg ...
- Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal)...
Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal) 名称空间(命名空间): 当程序运行时,代码从上至下一次读取,遇到变量与值, ...
- 10-Python入门学习-函数的对象与嵌套、名称空间与作用域、闭包函数
一.函数的对象 函数是第一类对象,指的是函数名指向的值(函数)可以被当作数据去使用 def func():# func=函数的内地址print('from func')print(func)age=1 ...
- Python基础知识——函数的基本使用、函数的参数、名称空间与作用域、函数对象与闭包、 装饰器、迭代器、生成器与yield、函数递归、面向过程与函数式(map、reduce、filter)
文章目录 1 函数的基本使用 一 引入 二 定义函数 三 调用函数与函数返回值 2 函数的参数 一 形参与实参介绍 二 形参与实参的具体使用 2.1 位置参数 2.2 关键字参数 2.3 默认参数 2 ...
最新文章
- 2010年度报告:是谁在编写Linux内核?
- python简易木马(一)
- Microsoft Visual Studio 正忙
- Multi-catch parameters are not allowed for source level below 1.7 解决方法
- C#常用正则表达式收藏
- 华为资深工程师总结的这本435页的书,居然把网络协议给趣谈了
- Android开发环境搭建
- java web简答题_javaweb简答题
- 科技兴国园区兴城——2019国际高科技产业园区博览会在深盛装开幕
- 腾达fh307没有显示服务器名,腾达(Tenda)FH307路由器无线WiFi密码和名称设置 | 192路由网...
- FairyGUI进阶-滑动列表 虚拟列表 循环列表
- 软件开发中 前台、中台、后台英文_实战思考(一):如何搭建业务中台?
- openwrt 遍译php_OpenWrt CI 在线集成编译环境使用教程
- 看我如何做基于扑克牌模式识别系统的设计与实现
- AIX日志型文件系统的nbpi
- 12种超短线操作绝招
- Rasa 中文聊天机器人项目
- python打印输出阶梯_python如何将字符阶梯型输出?
- PSO优化的BP神经网络
- Boost PFC参数计算——PFC电感
热门文章
- 全新胶囊网络Efficient-CapsNet效果显著!
- 【人工智能】全网首发!2020年AI、CV、NLP等最全国际会议、顶会时间汇总!!
- python线程间数据共享_python 进程间数据共享multiProcess.Manger实现解析
- 文本分类(下) | 卷积神经网络(CNN)在文本分类上的应用
- 理解Hinton的Capsule Networks1
- 如何使用OSQP-Eigen
- jaccard相似度_推荐系统中常用计算相似度的方法和工具
- php为什么没有rz 命令,Linux上传文件- 命令之rz
- 100级大橙武升级流程_DNF:女气功升级100级无暇手套,前后伤害对比。
- python3.7下载包的命令_LINUX下安装Python3.7、Pycharm[Linux命令记录]