最新免费视频:www.pythonav.com (冒着被砍死的风险)

装饰器与参数

参数;

实参和形参

实参:调用函数的时候传入的参数。

 

形参:

位置参数:必须传值

默认参数:可以不传

动态参数:

def ccc(*args):

  print(args)

ccc(11,2, ,3, ,4,5,67,8)     #按位置传参

 

 

def ddd(**kwargs):

  print(kwargs)

ddd(k='a',j='b')    #按关键字传参

 

应用场景:

#func

1.计算func的执行时间    @timmer

2.登录认证   @auth

 

@auth

@timmer

func

 

 

 

解耦 1. 尽量的让代码分离,小功能之间的分离

2. 目的:提高代码的重要性。

 

多个装饰器装饰同一个函数:

 

#!/usr/bin/env python

_*_ coding:utf-8_*_

def decorator1(func):

  def inner():

    print('开始之前执行 装饰器01')

    ret = func()

    print('结束之后执行装饰器01')

    return ret

  return inner

 

def decorator2(func):

  def inner():

    print('decorator>>>Start...')

    ret = func()

    return ret

  return inner

 

@decorator1

@decorator2

 

def index():

  print('执行函数。。。')

index()

 

 

输出结果:

开始之前执行装饰器01

decorator2>>>Start...

执行函数...

decorator2>>>End...

结束之后执行装饰器01

 

 

 

 

 

 

 

                                                                                          

posted @ 2017-07-28 18:17  uuuuuuu  阅读(110)  评论(0编辑  收藏  举报

最新免费视频:www.pythonav.com (冒着被砍死的风险)