最新要闻
- 不怕买不到首发!京东官宣可提前抢苹果iPhone新品
- 检测新途径!27年有望实现尿液宫颈癌HPV筛查
- 10岁男孩落水从山西漂到河北:仰面朝上 “教科书”式自救
- 美国半导体行业协会总裁:没有一个国家可以扭转芯片供应链 半导体行业需要中国
- 6999元最强“争气机”!华为Mate 60 Pro南糯紫图赏
- 杜锋:波多黎各喜欢出手三分会有长篮板 我们每个人都要努力去抢
- 梦到虫子有什么寓意(梦到虫子预示着什么)
- 美方无理扣留、盘查、遣返中国留学生,中方回应!
- 关塔那摩监狱前囚犯揭美军虐囚:放狗咬 剥夺睡眠
- 贵州4地入选现代流通战略支点城市布局建设名单
- 王梓旭加盟吉林男篮
- 聊天记录太占内存?微信存储空间清理教程来了
- 湖北通报6起党员干部和公职人员酒驾醉驾典型案例
- 默认使用微软搜索 微软停止Chrome弹窗广告
- “文明夜长沙 一起零酒驾” 长沙市第八届文明交通百日零违法挑战赛启动
- 皇马33岁巨星再次开炮:有些球员去沙特只为钱,这是反足球
广告
手机
又是一年开学季丨无缝接驳 直通高校 武汉贴心迎新
科锐国际廖萍: 数字化人才将成为VUCA时代企业人才战略的核心
- 又是一年开学季丨无缝接驳 直通高校 武汉贴心迎新
- 科锐国际廖萍: 数字化人才将成为VUCA时代企业人才战略的核心
- 郑州地铁3号线二期通过初期运营前安全评估
- 筑牢基层安全“防火墙”盘龙区金辰街道这么做
- 中金关注政策组合拳的长期积极影响
- 军士选晋,为战选才!
家电
Python名称空间和作用域,闭包函数
【资料图】
Python名称空间和作用域,闭包函数
- 名称的查询顺序
- 名称空间的作用域
- global和nonlocal关键字的使用
- 函数对象(函数名)
- 函数的嵌套调用
- 函数的嵌套定义
- 闭包函数
名称空间
定义
# 什么是名称空间?名称空间即存放名字与对象映射/绑定关系的地方。就是存放变量名与变量值关系的地方
名称空间的分类
1.内置的名称空间内置:就在python解释器里面,可以直接使用 """一般大多数都是在函数内部存在的都是局部的!""" def index(): a=1 b=22.全局的名称空间全局:在py文件中顶格编写的变量名就是全局变量 name="jerry" def index(): pass if a: pass while b: pass for i in range(10): pass 全局变量:在函数外的变量就是全局变量局部变量:在函数内部的变量就是局部变量
名称查询顺序
既然有全局变量和局部变量那么就一定会有查询顺序名称空间的加载顺序是(在内置):内置名称空间->全局名称空间->局部名称空间如果你在全局:全局--->内置局部变量在外部是不能被使用的在函数内部打印出来的结构都属于当前函数的局部名称空间"""局部名称空间的嵌套!"""def f1(): # x = 222 def f2(): print("f2") # x = 333 def f3(): print("f3") # x = 444 def f4(): # x = 555 print(x) f4() f3() f2()f1()
名称空间的作用域
域:范围作用域:变量的作用范围1. 内置名称空间# 在全局的任意位置都能够使用2. 全局名称空间# 在全局的任意位置任意时间都能够使用 3. 局部名称空间# 一般情况只能够在局部使用 def index(): x = 666
global和nonlocal的使用
global如果你想在局部修改全局的变量:1. 如果你修改的是不可变的类型,需要global关键字的声明2. 如果你修改的是可变类型的,无需使用global关键字声明# x = 10# def index():# global x # 声明这个x用的是全局的x# x = 20 # 我想在局部修改全局的x的值# # print(x)## index()# print(x) # 10name_list = ["kevin", "jerry"]def func(): name_list.append("tank")func()print(name_list) # ["kevin", "jerry", "tank"]nonlocal如果你想在内部的局部修改外部的局部:1. 如果你修改的是不可变的类型,需要nonlocal关键字的声明2. 如果你修改的是可变类型的,无需使用nonlocal关键字声明nonlocal的使用:# def outer():# x = 666# def inner():# nonlocal x# x = 999# inner()# print(x) # 此时的x是多少? 666## outer()def outer(): name_list = ["a", "b"] def inner(): name_list.append("c") inner() print(name_list) # 此时的x是多少? 666outer()
函数对象(函数名)
函数名可以当成变量赋值
ef index(): print("index") return 123# print(index())"""函数名就是函数在内存中得地址"""# print(index) # a = index# print(a) # res=a() # index()print(res)
函数名可以的当成函数的实参
def index(): print("index") return Nonedef func(a): # a:index print(a) res=a() # index() print(res) # res的结果? None# index:index函数所在的内存地址
函数名可以当成函数的返回值
def index(): print("index") return "index2"def func(): print("func") # return index() # "index" return index # "index"res = func() #print(res)res1=res() # index()print(res1)
函数名可以当成容器类型的元素
def index(): print("index") return Nonell = [11, 22, 33, index]# ll = [11, 22, 33, index()]# print(ll[3])res=ll[3]() # index()print(res)
函数的嵌套调用
嵌套:函数套函数# 案例:给你四个数,比较大小,返回最大的# 两个数的比较大小,返回大的def my_max(a, b): if a >b: return a return b# res=my_max(1, 2)# print(res)##def many_max(a, b, c, d, e): """四个数的比较大小其实还是要两两比较!""" res=my_max(a, b) # res得到a和b中得大的那个 # 怎么样比较res和剩余的大小, 只需要拿res和c或者d中得一个进行比较 res1=my_max(res, c) # res1:a,b,c中得最大的那个 res2=my_max(res1, d) res3=my_max(res2, e) return res3res=many_max(11, 12, 3, 24)print(res)
闭包函数
# 闭包函数还是函数,它是有函数一点一点演变过来的什么是闭包函数?闭:就是函数内部定义函数,至少要有2层函数 包:内部的函数要使用外部函数名称空间中的名字 """只有同时满足以上两个条件,才能称之为是闭包函数"""def outer(): x = 666 def inner(): print("hello", x) return innerouter()# 闭包函数的使用场景:闭包函数其实是第二种传参方式!# 第一种传参方式# def index(username):# print(username)## index("jerry")# 第二种传参方式# 比较两个数的大小# def my_max(a, b):# if a>b:# return a# return b## my_max(1, 2)# 让你用闭包函数实现比较2个数的大小:一次传值,多次使用def outer(a, b): # a = 100 # b = 200 def my_max(): if a > b: return a return b return my_maxres = outer(1, 10) # my_max函数的内存地址print(res()) # my_max()print(res()) # my_max()print(res()) # my_max()print(res()) # my_max()print(res()) # my_max()print(res()) # my_max()print(res()) # my_max()print(res()) # my_max()res1=outer(10, 20) # res1:my_maxprint(res1())print(res1())print(res1())print(res1())print(res1())print(res1())print(res1())print(res1())print(res1())
关键词:
Python名称空间和作用域,闭包函数
业务安全情报第22期 | 不法分子为何盗刷企业短信?
Induction of Design Pattern
减税降费接连出台 积极财政政策加力提效
【财经分析】多空博弈促债市继续盘整 10年期国债利率料上行“有顶”
【新华500】新华500指数(989001)7日跌1.45%
【财经分析】多空博弈促债市继续盘整 10年期国债利率料上行“有顶”
【金融街发布】外汇局:截至8月末外储规模为31601亿美元
不怕买不到首发!京东官宣可提前抢苹果iPhone新品
检测新途径!27年有望实现尿液宫颈癌HPV筛查
10岁男孩落水从山西漂到河北:仰面朝上 “教科书”式自救
美国半导体行业协会总裁:没有一个国家可以扭转芯片供应链 半导体行业需要中国
6999元最强“争气机”!华为Mate 60 Pro南糯紫图赏
沪硅产业:大基金提前终止减持股份计划
从三花猫到癌症治疗:新兴的表观遗传学有哪些机会?
广州海事局启动防热带气旋Ⅲ级响应防范“苏拉”
队报:维拉蒂接近加盟卡塔尔球队阿拉比 德拉克斯勒也可能离队
8月31日汇市观潮:欧元、英镑和澳元技术分析
AIGC说真相|那些年美国扔下的集束炸弹
福建提升防台风应急响应为Ⅱ级 启动防暴雨Ⅳ级应急响应
“谢谢警察叔叔!这是我第一次坐警车!”
跨国零售企业在华业务保持增长
杜锋:波多黎各喜欢出手三分会有长篮板 我们每个人都要努力去抢
三年级上册语文第五单元作文范文
降息了,A股却下跌了?市场在酝酿新的方向!
米干怎么吃 米干怎么吃法
卓越商企服务:主航道业务稳步增长 新赛道构建第二增长曲线
又是一年开学季丨无缝接驳 直通高校 武汉贴心迎新
小鹏最意难平旗舰SUV 新款G9谍照亮相:白内+双风冷无线充
湖南省委政法委:凝心铸魂筑牢根本 实干担当促进发展
先进数通(300541.SZ):主要业务领域,均与华为建立了深入的合作关系
梦到虫子有什么寓意(梦到虫子预示着什么)
美方无理扣留、盘查、遣返中国留学生,中方回应!
国产机器人龙头市场份额 新兴产业成为工业机器人应用新阵地
灵台县职业中等专业学校军训服、校服采购项目中标(成交)结果公告
科锐国际廖萍: 数字化人才将成为VUCA时代企业人才战略的核心
关塔那摩监狱前囚犯揭美军虐囚:放狗咬 剥夺睡眠
windows云电脑
友邦人寿加码银保业务有成效,偿付能力指标待改善
宁夏回族自治区党委原副书记、银川市委原书记姜志刚被“双开”
新突破!广州东部公铁联运枢纽首发汽车专列
直播带货的铠甲与软肋
贵州4地入选现代流通战略支点城市布局建设名单
工商银行喜结良缘金条30克价格今天多少一克(2023年08月31日)
东莞农商行上半年营收净利微增,资产质量继续保持平稳
越素越美!
衡东:800万元助学贷款助学子圆梦
做好垃圾分类,共建绿美花都
打出三张牌激发美食康养文旅消费热
正式成立!泉州市第一医院与上海九院医疗技术协作中心揭牌!
武汉市烟草局:守护成长 “未”爱护航
科创芯片ETF华安(588290)早盘震荡走强,已涨3.02%,盘中成交额破亿元
郑州地铁3号线二期通过初期运营前安全评估
筑牢基层安全“防火墙”盘龙区金辰街道这么做
椰子水价格暴涨4000%!供不应求 订单量上涨数倍
金华一批铁路相关项目有新进展
朱保全回应印力接管万科旗下商业项目进度:目前进展顺利
“共建‘一带一路’十周年:回顾与展望”国际研讨会在霍尔果斯成功举办
以系统观念深入开展主题教育
周末带孩子去哪里玩
山东高速建材集团开展生产车间 “岗位大练兵、技能大比武”活动
79平两房卧室这样设计,绝对是小户型的模仿典范!
这场“零距离”企业恳谈会越开越“有味”
自然资源部:台风“苏拉”逼近 海浪红色预警、风暴潮橙色预警
方便面、汉堡都是垃圾食品?还真不是,什么是垃圾食品呢?
云天化(600096.SH):上半年净利润26.78亿元 同比下降22.74%
20家上市车企披露半年报,超半数净利润增长
中金关注政策组合拳的长期积极影响
开学啦!
军士选晋,为战选才!
魏巍谁是最可爱的人原文选材(魏巍谁是最可爱的人原文)
深圳国际累计完成发行81亿元境内公司债券
叶公好龙的故事和寓意(叶公好龙的故事)
王梓旭加盟吉林男篮
宁夏:新型电力 减碳有利
股价暴跌44%!市值一夜蒸发6050亿元!越南造车新势力被“打回原形”?
冯磊任上海市气象局党组书记、局长
韩旭接班人确定!200多斤打内线,狂拿31分,澳大利亚没脾气
聊天记录太占内存?微信存储空间清理教程来了
湖北通报6起党员干部和公职人员酒驾醉驾典型案例
年假没休完会清零吗
合众人寿河南分公司开展清廉金融文化教育培训活动
216万余人次!暑期洛阳文博机构参观人数创新高
老年性黄斑变性——老年人视力的沉默杀手
中国服饰控股(01146)附属认购1000万元理财产品
默认使用微软搜索 微软停止Chrome弹窗广告
全球第三!市值超过蔚小理!VinFast凭什么?
郑州银建地产100%股权及相关债权被挂牌 底价7953.76万元
恒大财富,成“老赖”!
危地马拉选举委员会宣布阿雷瓦洛赢得总统选举
众志成城 防汛救灾丨河北受灾地区多措并举确保学生秋季如期开学
开通倒计时!广汕高铁开出首趟试运行列车
重庆农村商业银行(03618):重庆市国资委拟将其持有的重庆水务环境控股集团80%股权无偿划转至重庆渝富控股集团
给未来的自己歌词完整版 给未来的自己歌词
李先生加州牛肉面 官银号店(对于李先生加州牛肉面 官银号店简单介绍)
A股午评:三大指数冲高回落 华为手机产业链、半导体板块涨幅居前
盘点易建联商业版图
“文明夜长沙 一起零酒驾” 长沙市第八届文明交通百日零违法挑战赛启动
武汉黄陂村史馆里传新风,文明实践育新人
更智能实惠的家用摄像头,大拿4K摄像头发布