新浦京81707con > 功能介绍 > python之装饰器

原标题:python之装饰器

浏览次数:150 时间:2019-05-07

装饰器:  

Python 函数的创始

Python 函数的创办

图片 1图片 2

图片 3图片 4

图片 5图片 6

 1 import time
 2 def cal(l):
 3     start_time=time.time()
 4     res=0
 5     for i in l:
 6         time.sleep(0.1)
 7         res =i
 8     stop_time = time.time()
 9     print('函数的运行时间是%s' %(stop_time-start_time))
10     return res
11 
12 print(cal(range(100)))
def func2():
    print('haha')
    # 函数的返回值
    # 函数的返回值,没有定义返回None,
    # 有一个返回值返回这个object(可以返回一个函数对象),
    # 有多个则是返回一个元组
    return 0
def func2():
    print('haha')
    # 函数的返回值
    # 函数的返回值,没有定义返回None,
    # 有一个返回值返回这个object(可以返回一个函数对象),
    # 有多个则是返回一个元组
    return 0

View Code

View Code

View Code

 装饰器预演:

Python 函数的调用

Python 函数的调用

图片 7图片 8

func2()
func2()
 1 import time
 2 def timmer(func):
 3     def wrapper(*args,**kwargs):
 4         start_time=time.time()
 5         res=func(*args,**kwargs)
 6         stop_time = time.time()
 7         print('函数运行时间是%s' %(stop_time-start_time))
 8         return res
 9     return wrapper
10 @timmer
11 def cal(l):
12     res=0
13     for i in l:
14         time.sleep(0.1)
15         res =i
16     return res
17 
18 res=cal(range(10))
19 print(res)

Python 函数的参数

Python 函数的参数

View Code

图片 9图片 10

图片 11图片 12

 高阶函数:

def func3(x,y,z=5,*args,**kwargs):
    print(x)
    print(y)
    print(z)
func3(1,2,3)
#实际参数(实参):1,2,,3
#形式参数(形参):x,y,z
#默认参数:z=5,(非必须传递)
def func3(x,y,z=5,*args,**kwargs):
    print(x)
    print(y)
    print(z)
func3(1,2,3)
#实际参数(实参):1,2,,3
#形式参数(形参):x,y,z
#默认参数:z=5,(非必须传递)

  1.函数收受的参数是三个函数名
  二.函数的重返值是3个函数名
  叁.满意上述标准任意一个,都可称为高阶函数

View Code

View Code

 

图片 13图片 14

图片 15图片 16

图片 17图片 18

def func3(x,y,z=5,*args,**kwargs):
    print(x)
    print(y)
    print(z)
#位置参数的传递,位置的特性:需要一一对应
func3(1,2,3)
#关键字参数的传递,关键字的特性:不需要一一对应
func3(x=1,y=2,z=3)
#非固定参数:*args,**kwargs
#*args接收多余的位置参数的值,以元组形式
#**kwargs接收多余的关键字参数的值,以字典的方式
#混合参数的传递,特性:位置参数要在关键字参数前面,继承了位置和关键字的特性
func3(1,y=2,z=3)
def func3(x,y,z=5,*args,**kwargs):
    print(x)
    print(y)
    print(z)
#位置参数的传递,位置的特性:需要一一对应
func3(1,2,3)
#关键字参数的传递,关键字的特性:不需要一一对应
func3(x=1,y=2,z=3)
#非固定参数:*args,**kwargs
#*args接收多余的位置参数的值,以元组形式
#**kwargs接收多余的关键字参数的值,以字典的方式
#混合参数的传递,特性:位置参数要在关键字参数前面,继承了位置和关键字的特性
func3(1,y=2,z=3)
 1 例1:
 2 import  time
 3 def foo():
 4     time.sleep(1)
 5     print('你好啊玉哥')
 6 
 7 def tests(func):
 8     start_time = time.time()
 9     func()
10     stop_time = time.time()
11     print('函数运行时间是%s'%(stop_time-start_time))
12 # foo()
13 tests(foo)

View Code

View Code

View Code

Python 全局和部分变量

Python 全局和局地变量

本文由新浦京81707con发布于功能介绍,转载请注明出处:python之装饰器

关键词: 新浦京81707con 编程语言 Python

上一篇:表单验证插件,表单验证库

下一篇:没有了