# -*- coding: utf-8 -*- #coding=utf-8 ''' @author: tomcat @license: (C) Copyright 2017-2019, Personal exclusive right. @contact: liliang07@yungengxin.com @software: coding @file: decorator1.py @time: 2019/7/26 11:25 ''' ''' 接受参数的解释器 ''' import inspec…
场景 不管是任何web框架作为一个web的开发人员必须要搞明白control层如何接受各种参数. 下面就根据我们公司的系统架构(nutz)来进行一下场景描述.各位小伙伴也可以根据这些 场景自己去总结一份你们公司的实现方式,像这些知识弄明白肯定有助于我们提高开发效率. 场景一:单属性 module中入口函数 postman测试: 注意: @Param("名称1") String 名称2 名称1和名称2可以不用一致. postMan测试: 场景二:单个对象 单个对象 module中入口函数…
一.闭包函数 闭包函数:1.函数内部定义函数,成为内部函数, 2.改内部函数包含对外部作用域,而不是对全局作用域名字的引用那么该内部函数成为闭包函数 #最简单的无参闭包函数 def func1() name='ares' def func2() print(name) #有参和返回值的闭包函数 def timmer(func): def wrapper(*args,**kwargs): start_time = time.time() res=func(*args,**kwargs) stop_…
1.常用的python函数 abs             求绝对值 all               判断迭代器中所有的数据是否为真或者可迭代数据为空,返回真,否则返回假 any             判断迭代器中的数据是否有一个为真,有返回真,可迭代数据为空或者没有真,返回假 bin             转换整数为二进制字符串 hex            转换整数为十六进制字符串 oct             转换整数为八进制字符串 bool           转换数据为布尔值…
因为装饰器需要用到返回函数的知识,所以在这里将返回函数和装饰器合并讲解. 什么是返回函数? 我们知道,一个函数中return可以返回一个或者多个值,但其实,return不仅可以返回值,还可以返回函数. 实例: def col(*arg): def sum(): res_sum=0 for i in arg: res_sum=res_sum+i return res_sum return sum() a=col(1,2,3,4,5) print(a)#结果:15 #a=col(1,2,3,4,5)…
装饰器 1.什么是装饰器 装饰器本质是函数,用来给其他函数添加新的功能 特点:不修改调用方式.不修改源代码 2.装饰器的作用 装饰器作用:本质是函数(装饰其他函数)就是为其他函数添加其他功能 装饰器必须准寻得原则: 不能修改被装饰函数的源代码.不能修改被装饰函数的调用方式 实现装饰器知识储备: 1.函数即“变量” 2.高阶函数 3.嵌套函数 高阶函数+潜逃函数=>装饰器 3.使用高阶函数模仿装饰器功能 1.定义:把一个函数名当做实参传给另一个函数 2.返回值中包含函数名 3.下面使用高阶函数虽然…
本章内容概要 1. 多层装饰器 2. 有参装饰器 3. 递归函数 4. 算法(二分法) 本章内容详解 1. 多层装饰器 1.1 什么是多层装饰器 多层装饰器是从下往上依次执行,需要注意的是,被装饰的函数名所指代的函数是一直被装饰器中的内层函数所取代. 1.2 语法糖的功能 会自动将下面紧挨着的函数名当做参数传递给@符号2后面的函数名(加括号调用) 1.3 代码讲解 def outter1(func1): # 13.func1 = wrapper2函数名 print('加载了outter1') #…
实现装饰器的知识储备: 示例: def f1(): print("f1") 1.函数即“变量” #上面的示例中,函数f1为变量,它指向内存地址.而f1()表示函数执行. 2.高阶函数 a:把一个函数名当做实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能). b:返回值中包含函数名(不修改函数的调用方式). 3.嵌套函数 将一个函数放在另外一个函数里面. 装饰器 = 高阶函数 + 嵌套函数 装饰器定义:本质是函数.(装饰其他函数)就是为其他函数添加附加功能.装饰器原则:…
一.作用域 在Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域.python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围.即Python变量的作用域由变量所在源代码中的位置决定. 在Python中并不是所有的语句块中都会产生作用域.只有当变量在Module(模块).Class(类).def(函数)中定义的时候,才会有作用域的概念.而在if.for.while等语句中不产生作用域. L(local)局部作…
一.nonlocal关键字 1.作用:将L与E(E中的名字需要提前定义)的名字统一 2.应用场景:如果想在被嵌套的函数中修改外部函数变量(名字)的值 def outer(): num=10 print(num) # 输出结果为10 def inner(): nonlocal num num=20 print(num) #输出级结果为20 inner() print(num) # 输出结果为20 def outer(): num= # 必要写 是用于L与E的名字统一 def inner(): #…