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


Posted in Python onNovember 08, 2019

说到装饰器,就不得不说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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
Python实现的一个简单LRU cache
Sep 26 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Python增量循环删除MySQL表数据的方法
Sep 23 Python
python实现朴素贝叶斯分类器
Mar 28 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
Python实现二维曲线拟合的方法
Dec 29 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
Python内建序列通用操作6种实现方法
Mar 26 Python
Python实现代码块儿折叠
Apr 15 Python
python 多态 协议 鸭子类型详解
Nov 27 Python
python反转列表的三种方式解析
Nov 08 #Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 #Python
Python通过递归获取目录下指定文件代码实例
Nov 07 #Python
Django REST framework 单元测试实例解析
Nov 07 #Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 #Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 #Python
Flask框架路由和视图用法实例分析
Nov 07 #Python
You might like
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
python列表操作实例
2015/01/14 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
python与C互相调用的方法详解
2017/07/14 Python
python实现网页自动签到功能
2019/01/21 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
python实现最速下降法
2020/03/24 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
高一化学教学反思
2014/02/05 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
社会学专业求职信
2014/07/17 职场文书
课前一分钟演讲稿
2014/08/26 职场文书
倡议书格式
2014/08/30 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
推销搭讪开场白
2015/05/28 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python