python(4),,一、装饰器装饰器就是


一、装饰器

装饰器就是把函数包装一下,为函数添加一些附加功能,装饰器就是一个函数,参数为被包装的函数

比如在函数中增加一个功能,只需要装饰器中增加,然后其他函数去引用就OK

(1)定义装饰器但没引用

代码:defouter(fun):#定义装饰器defwrapper():fun()print‘yanzheng‘returnwrapper@outer#链接上装饰器deffunc1():print‘func1‘func1()结果:func1

(2)定义装饰器并引用

代码:defouter(fun):#定义装饰器defwrapper():print‘新功能1‘#添加新功能1,写在fun()上边就是在上边fun()print‘新功能2‘#添加新功能2,写在fun()下边就是在下边print‘yanzheng‘returnwrapper@outer#链接上装饰器deffunc1():print‘func1‘func1()结果:新功能1func1新功能2

(3)如果函数中有其他参数

代码:defouter(fun):defwrapper(arg):#如果被装饰的函数中有其他参数的话就在这里加上print‘验证‘fun(arg)#如果被装饰的函数中有其他参数的话就在这里加上print‘yanzheng‘returnwrapper@outerdeffunc1(arg):#这里有参数print‘func1‘,argfunc1(‘hello‘)结果:验证func1helloyanzheng

二、面向对象

面向对象包括:封装、继承、多态

面向对象术语:类,类对象,实例对象,属性,函数和方法

(1)类和对象

代码:classProvince:#叫做类memo=‘中国的23省之一‘#叫做静态字段,通过类获取,属于类def__init__(self,name,shenghui):#叫做类的方法,sefl是必须有的不变,后边的可有可无self.Name=name#叫做动态字段,用self获取的self.Shenghui=shenghuia=Province(‘河北‘,‘唐山‘)#河北对应name,唐山对应shenghui,相当于实例化了一个对象a,然后就可以通过a来读取属性了printa.Name#通过a来读取属性printa.ShenghuiprintProvince.memo结果:河北唐山中国的23省之一





















本文出自 “翟军铭python” 博客,请务必保留此出处http://pythonzhai.blog.51cto.com/10391994/1728878

python(4)

评论关闭