python中自带的三个装饰器的实现

这篇文章主要介绍了python中自带的三个装饰器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

说到装饰器,就不得不说python自带的三个装饰器:

1、@property 将某函数,做为属性使用

@property 修饰,就是将方法,变成一个属性来使用。

class A(): @property def pfunc(self): return self.value @pfunc.setter def pfunc(self,value): self.value = value @property def pfunc1(self): print('this is property') if __name__=="__main__": A.pfunc = 9 print A.pfunc A.pfunc1

2、@classmethod 修饰类的方式

带修饰类方法:cls做为方法的第一个参数,隐式的将类做为对象,传递给方法调用时无须实例化。

普通函数方法:self做为第一个参数,隐式的将类实例传递给方法调用方法时,类必须实例化。

class A(): def func(self,x,y): return x * y @classmethod def cfunc(cls,x,y): return x * y if __name__=="__main__": print A().func(5,5) print A.cfunc(4,5)

3、@staticmethod 修饰类的方式

1)是把函数嵌入到类中的一种方式,函数就属于类,同时表明函数不需要访问这个类

2)使用修饰服,修饰方法,不需要实例化

class A(): def func(self,x,y): return x * y @staticmethod def sfunc(x,y): return x * y if __name__=="__main__": print A.sfunc(6,5)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...