摘要: 一:大前提: 闭包函数=名称空间与作用域+函数嵌套+函数对象 核心点:名字的查找关系是以函数定义阶段为准 二:什么是闭包函数 "闭"函数指的该函数是内嵌函数 "包"函数指的该函数包含对外层函数作用域名字的引用(不是对全局作用域) 闭包函数:名称空间与作用域的应用+函数嵌套 def f1(): x = 阅读全文
posted @ 2020-03-22 21:27 江湖有梦 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1、函数的嵌套调用:在调用一个函数的过程中又调用其他函数 def max2(x,y): if x > y: return x else: return y​​def max4(a,b,c,d): # 第一步:比较a,b得到res1 res1=max2(a,b) # 第二步:比较res1,c得到res 阅读全文
posted @ 2020-03-22 21:26 江湖有梦 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 精髓:可以把函数当成变量去用 func=内存地址 def func(): print('from func') 1、可以赋值 f=funcprint(f,func)f() 2、可以当做函数当做参数传给另外一个函数 def func(): print('from func') def foo(x): 阅读全文
posted @ 2020-03-22 21:25 江湖有梦 阅读(166) 评论(0) 推荐(0) 编辑
摘要: global: 如果再局部想要修改全局的名字对应的值(不可变类型),需要用global x=111​def func(): global x # 声明x这个名字是全局的名字,不要再造新的名字了 x=222​func()print(x) # x >222 可变类型一般不需要使用global l=[11 阅读全文
posted @ 2020-03-22 19:46 江湖有梦 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 一:名称空间namespacs:存放名字的地方,是对栈区的划分 有了名称空间之后,就可以在栈区中存放相同的名字,详细的,名称空间 分为三种 1.1 内置名称空间 存放的名字:存放的python解释器内置的名字 存活周期:python解释器启动则产生,python解释器关闭则销毁 print<buil 阅读全文
posted @ 2020-03-22 19:45 江湖有梦 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 一、形参与实参 形参:在函数的定义阶段使用的参数称之为形式参数,简称形参,类似与变量名。 def func(x, y): # x,y都是形参 print(x, y) 实参:在函数的调用阶段使用的参数称之为实际参数,简称实参,类似与变量值。 func(1,2) # 1,2都是实参 形参于实参的关系: 阅读全文
posted @ 2020-03-22 19:10 江湖有梦 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 总结: 1、什么是函数 函数就相当于具备某一功能的工具 函数的使用必须遵循一个原则: 先定义 后调用 2、为何要用函数 1、组织结构不清晰,可读性差 2、代码冗余 3、可维护性、扩展性差 3、如何用函数 先定义 三种定义方式 后调用 三种调用方式 4.函数的返回值 三种返回的形式 一、函数的定义 # 阅读全文
posted @ 2020-03-22 19:08 江湖有梦 阅读(283) 评论(0) 推荐(0) 编辑