说到装饰器,就不得不说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框架之Tornado(一)
  2. MySQL 一些查询语句及技巧
  3. apache安装错误error: APR not found解决办法
  4. C#窗体自定义控件
  5. 安装、部署... Windows服务 .net程序 安装 命令
  6. 实验:传输层:UDP协议 学习笔记
  7. JS生成某个范围的随机数(四种情况)
  8. 使用getElementById获取xml中的指定元素
  9. 一天JavaScript示例-在功能上的标量参数和数组参数的差异
  10. QT软键盘
  11. Win7 下,离线安装 Android Studio 1.0.1 的方法
  12. 基于 canvas 将图片转化成字符画
  13. Python之路Day7
  14. PushMeBaby 使用
  15. thinkphp中定义自己的函数
  16. ng-book札记——表单
  17. spring注解关键字
  18. ST表 || RMQ问题 || BZOJ 1699: [Usaco2007 Jan]Balanced Lineup排队 || Luogu P2880 [USACO07JAN]平衡的阵容Balanced Lineup
  19. 软件工程(FZU2015) 学生博客列表(最终版)
  20. 【转】理解js中的原型链,prototype与__proto__的关系

热门文章

  1. python爬虫-京东商品爬取
  2. Linux-shell学习笔记2
  3. ABP入门教程9 - 展示层实现增删改查-视图模型
  4. Linux CentOS 6.5 卸载、tar安装MySQL
  5. Linux:Apache服务器的搭建
  6. itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
  7. TED演讲积累。
  8. [C5W2] Sequence Models - Natural Language Processing and Word Embeddings
  9. Statements、PreparedStatement及CallableStatement(三)
  10. WPF 精修篇 page