这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。第一步:最简单的函数,准备附加额外功能?12345678# -*- coding:gbk -*-'''示例1: 最简单的函数,表示调用了两次'''def myfunc():print("myfunc() called.")myf...
分类:
编程语言 时间:
2015-12-07 17:57:20
阅读次数:
157
装饰器语法定义一个函数# -*-coding:utf-8 -*- def foo(): #定义一个foo的函数 print "foo" #打印输出foo() #调用foo函数 这样子函数才会执行foo ...
分类:
编程语言 时间:
2015-12-05 14:23:48
阅读次数:
267
一、常规的装饰器,比如@auth,执行2步操作:1、执行auth函数,并传参func进来2、获取返回值,并赋值给被装饰器的函数的函数名(如让fetch_server_list等于返回值)二、而带参数的装饰器,比如@auth(before,after),则执行3步操作:1、执行auth(before,after)这个函数,得到返..
分类:
编程语言 时间:
2015-12-01 13:03:32
阅读次数:
142
有些时候,可能实际工作中需要同时使用多个装饰器,具体怎么用,见代码:#basic5.py
defauth1(func):
definner():
print‘before1‘
func()
print‘after1‘
returninner
defauth2(func):
definner():
print‘before2‘
func()
print‘after2‘
returninner
@auth2
@auth1
deff1()..
分类:
编程语言 时间:
2015-11-30 18:07:19
阅读次数:
167
在上篇基础(1)中,我写了一个装饰器及使用方法,但是如果遇到一个函数带返回值的话,就不好使了,因此重写一个装饰器如下:#basic2.py
#coding:utf-8
defauth(func):
definner(*arg,**kwargs):
print‘before‘
temp=func(*arg,**kwargs)#这行是关键,func相当于fetch_server_li..
分类:
编程语言 时间:
2015-11-30 02:21:41
阅读次数:
161
创建装饰器#basic.py
#首先定义一个装饰器auth:
#一般装饰器
defauth(func):
definner():
print‘before‘
func()
print‘after‘
returninner
#带1个参数的装饰器
defauth_arg(func):
definner(arg):
print‘before‘
func(arg)
print‘after‘
returninner
#带多个参数的装饰器
..
分类:
编程语言 时间:
2015-11-27 20:12:20
阅读次数:
170
今天又花了多半天来学习装X利器---装饰器,来详细的讲讲装饰器的用法还是要说一下,学装饰器之前要先搞清楚什么是函数。装饰器就是对函数进行一个包装,打个比喻来说就是:假设有一个箱子A,在箱子A的外面又套了一个大箱子,外面的大箱子还起名叫A,以后在找里面的小箱子A的时..
分类:
编程语言 时间:
2015-11-25 01:13:13
阅读次数:
190
python 装饰器:装饰器的作用就是在函数调用方法不变的情况下,把一个函数封装到另一个函数里面,执行这个函数时自己去调用另一个函数.一、了解装饰器之前,先看看下面这个列子. 1 #python解释器从上往下执行。 2 例一: 3 4 def foo(): //1.将...
分类:
编程语言 时间:
2015-11-24 20:38:11
阅读次数:
174
这周学到了python的装饰器,以前没有接触过,问了一个搞php开发的同事什么是装饰器,他说就好像构造函数一样,可惜我已经把构造函数忘得光光了,想不起来是啥了。现在就找资料了解了解。毕竟装饰器是一个不用也能实现程序的功能,但是用了装饰器以后会显得你的技术特NB,但是不..
分类:
编程语言 时间:
2015-11-21 22:54:15
阅读次数:
380
装饰器是什么呢?我们先来打一个比方,我写了一个python的插件,提供给用户使用,但是在使用的过程中我添加了一些功能,可是又不希望用户改变调用的方式,那么该怎么办呢?这个时候就用到了装饰器。装饰器的原理是什么?我们接下来就一步一步看过来!假如我们有一个home函数如下:1 def home():2 ...
分类:
编程语言 时间:
2015-11-20 21:42:43
阅读次数:
188