今日内容 1.函数对象 2.名称空间与作用域 3.函数的嵌套调用与闭包 4.装饰器 一.函数对象 1.1 定义 函数名存放的就是函数地址,所以函数名也就是对象,称之为函数对象 1.2 函数对象的应用 1.可以直接被引用 2.可以当作函数参数传数 3.可以作为函数的返回值 4.可以作为容器类型的元素 def fn(): num = 10 print('fn function run') # 直接被引用 func = fn fn() func() 案例:四则运算 def add(n1, n2): r…
本篇目录: 一.函数嵌套 二.函数名称空间与作用域 三.函数对象 四.闭包函数 ============================================================================== 一.函数嵌套 1. 函数的嵌套调用 函数内又调用了其他函数(函数平级) def max(x,y): return x if x > y else y def max4(a,b,c,d): res1=max(a,b) res2=max(res1,c) res3=m…
复习 1. 字符串的比较: 2. 函数的参数:形参与实参 3. 实参的分类:位置实参与关键字实参 4. 形参分类: 1.无值位置形参 2.有值位置形参 3.可变长位置形参 4.有无值关键字形参 5.可变长关键字形参 5. 打散机制 今日内容 1. 函数默认值的细节.* 2. 数据类型的补充:语法简单,经常去使用就OK *** ----- 三元表达式  |  列表推导式  |  字典推导式 3. 函数对象:函数名的各种应用场景  ***** 4. 名称空间与作用域:解释变量名重复与从图冲突问题 …
今日主要内容 1.  函数默认值细节(*) 2.  数据类型补充:三元表达式.列表推导式.字典推导式 (***) 3.  函数对象:函数名的各种应用场景 (*****) 4.  名称空间与作用域:解释变量重复与冲突问题 (*****) 5.  函数的潜逃定义:在函数内部定义函数 (*****) 1.  函数默认值细节 如果函数的默认参数的默认值为变量,在所属函数定义阶段一执行就被定义为当时变量存在的值 a = 10def fn(num = a): # num = 10 a = 20 print(…
复习 # 字符串的比较 # -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 # 函数的参数 # 1)实参与形参: # -- 形参:在函数定义时()中出现的参数 # -- 实参:在函数调用时()中出现的参数 # 2)实参的分类 # -- 位置实参:给位置形参,必须按位置 # -- 关键字实参:给位置与关键字形参,不需要按顺序 # 3)形参的分类 # -- 无值位置 # -- 有值位置 # -- 可变长位置 # -- 有无值关键字 # -- 可变长关键字 def fn(a, b=…
可变长参数 一.形参 位置形参 默认形参 二.实参 位置实参 关键字实参 三.可变长参数之* def func(name,pwd,*args): print('name:',name,'pwd:',pwd) print(args) return 1 ​ res = func('nick',12345,18,180,18000) print(res) ​ #name: nick pwd: 12345 #(18, 180, 18000) # 四.可变长参数之** def func(name,pwd,…
""" 今日内容: 1.函数参数传值细节 2.三元表达式 3.列表及字典推导式 4.函数对象 5.名称空间与作用域 6.函数的嵌套定义初识 """ """ 一.函数参数的传值细节 举例: num = 10 def fn(n=num): print(n) num = 20 fn() 在上例中函数的参数列表是一个带有默认值的位置形参,由于初识传值为 n = num = 10 在调用之前num又重新赋值了,此时在函数内打印…
一.函数对象 1.函数对象:函数名存放的就是函数的地址,所以函数名也是对象,称之为函数对象 a = 10 print(a,id(a)) def fn(): num = 10 print('fn fuction run') print(fn()) b = a print(b,id(b)) 2.函数对象的四个应用 ①可以直接被引用fn=cp_fn def fn(): num = 10 print('fn function run') print(fn) def fn(): num = 10 prin…
函数名是可以被引用,传递的是函数的内存地址.函数名赋值给变量后,只需要在变量后加上括号即可调用函数. 名称空间 内置名称空间:在python解释器中提前定义完的名字 全局名称空间:if.while.for循环中内部定义的变量,均是全局变量:存放于文件级别的变量,也是全局名称. 局部名称空间:函数内定义的所有名称,均存放在当前函数的名称空间,属于局部名称空间. 生命周期 内置名称空间:解释器生效内置名称空间即生效,解释器关闭即失效. 全局名称空间:.py文件生效全局名称空间生效,代码执行结束后失效…
目录 函数对象 函数的嵌套 名称空间和作用域 内置名称空间 全局名称空间 局部名称空间 作用域 全局作用域 局部作用域 global和nonlocal 函数对象 在Python中,一切皆对象,函数也是一类对象.即函数也具有以下特性 1.可以被引用,赋值:将函数赋值给a # 定义一个self_max函数 def self_max(x, y): if x > y: return x return y a = self_max 2.可以当做函数的返回值:将函数f2当做函数f1的返回值 def f2()…