1.闭包: 保护数据安全.保护数据干净性. 2.闭包的定义:在嵌套函数内.使用非全局变量(且不使用本层变量) 将嵌套函数返回 闭包的目的:要接受被装饰的函数和被装饰函数需要的参数3.闭包举例子: def func(): a = 10 def foo(): print(a) return foof = func()f()结果:104.验证闭包函数:__closure__ def func(): a = 10 #自由变量 def foo(): print(a) #打印a有一个绑定关系 return…
1.函数的作用:封装代码.大量的减少了重复的代码. 2.全局空间:顶行写的就是全局空间. 图解 : 3.函数的定义: def 是一个关键字.申明要定义一个函数 my_len 函数的名字.遵循变量命名的规则 ()固定结构.用来传参 :表示语句结束 缩进 函数体(缩进体) 4.函数定义结构: def 函数名(): 函数体 5.函数的调用: 函数名+() 函数被调用后.函数体中开辟的空间会自动销毁. 6.返回值: return 能够终止函数,return下方的代码不执行 return 能够返回任意多个…
1.建议小写f: name = "宝元"age = 18sex = "男"msg = F"姓名:{name},性别:{age},年龄:{sex}"msg1 = f"姓名:{name},性别:{age},年龄:{sex}"print(msg)print(msg1)结果: 姓名:宝元,性别:18,年龄:男 姓名:宝元,性别:18,年龄:男 2.表达式:字典取值.列表取值.函数表达式函数计算: def func(a,b): retu…
2014-5-6日,Juuluu公布其企业建站系统MiinCMP1.0.5 标准版,1.0.5是一款相对成熟的企业站点解决方式.执行MiinCMP1.0.5,仅仅需2M的mysql,50m的java空间,256的内存,即最 低的国内IDC配置,MiinCMP站点方案可最大化站点建设成本. MiinCMP1.0.5 标准版安装包 http://pan.baidu.com/s/1bncSj87 下载 MiinCMP1.0.5 标准版源代码/开发包 http://pan.baidu.com/s/1iZ…
""" 今日内容: 1.函数的嵌套定义及必包 2.global 与 nonlocal 关键字 3.开放封闭原则及装饰器 """ """ 一.函数的嵌套定义及闭包 -- 在一个函数中定义另一个函数的过程叫做函数的嵌套定义 -- 为什么要使用函数的嵌套定义? -- 在一个函数中要是用另一个函数中的变量,就在原函数中嵌套定义这个新函数 -- 但是嵌套定义后函数内部的函数就只能在函数的原函数的内部使用,在函数外部不能直接访问…
1.有参装饰器:给装饰器添加一个参数.来控制装饰器的行为. @auth(参数) auth里层的函数名 = auth(参数) 被装饰的函数名 = auth里层的函数名(被装饰的函数名) 被装饰的函数名() 应用场景:flask框架的路由就是有参装饰器 def arg(argv): def wrapper(func): def inner(*args,**kwargs): if argv: print("开始装饰") ret = func(*args,**kwargs) if argv:…
Python 闭包.迭代器.生成器.装饰器 一.闭包 闭包:闭包就是内层函数对外层函数局部变量的引用. def func(): a = "哈哈" def func2(): print(a) # 引用了外层函数的局部变量a,闭包 func2() func() 我们可以使用__closure__来查看是否是闭包. def func(): a = "哈哈" def func2(): print(a) # 引用了外层函数的局部变量a,闭包 func2() print(fun…
今天我们就围绕一个来展开,那就是:装饰器 一.装饰器 在说装饰器之前,我们先说一个软件设计的原则:开闭原则,又被称为开放封闭原则,你的代码对功能的扩展是开放的,你的程序对修改源代码是封闭的,这样的软件设计思路可以更好的维护和开发. 开放:对功能扩展开放 封闭:对修改代码封闭 接下来我们来看装饰器,首先我们先模拟女娲造人 def create_people(): print('女娲很厉害,捏个泥人吹口气就成了人') create_people() OK,很简单,但是问题来了,上古时期啊,天气很不稳…
一 函数的嵌套定义 1在一个函数的内部定义另一个函数. 2.为什么有函数的嵌套定义: # 1)函数fn2想直接使用fn1函数的局部变量,可以讲fn2直接定义到fn1的内部,这样fn2就可以直接访问fn1的变量# 2)函数fn2名字就变成fn1的局部变量了,正常只能在fn1中使用,想在外部使用,可以讲fn2函数对象作为fn1函数的返回值# 3)在外部也用同名的变量fn2来接收fn1函数的执行结果(fn1函数的返回值),那么fn2也就是可以在外部被调用 二 global关键字 # 作用:将局部的变量…
装饰器 装饰器就是闭包函数的一种应用场景 一 为何要用装饰器 #开放封闭原则:对修改封闭,对扩展开放 二 什么是装饰器 装饰器他人的器具,本身可以是任意可调用对象,被装饰者也可以是任意可调用对象. 强调装饰器的原则: 1 不修改被装饰对象的源代码 2 不修改被装饰对象的调用方式 装饰器的目标:在遵循1和2的前提下,为被装饰对象添加上新功能 三 装饰器的使用 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): #func是被装饰的对象,这里…