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爬虫番外篇之Cookie和Session详解
Dec 27 Python
我们为什么要减少Python中循环的使用
Jul 10 Python
python中用logging实现日志滚动和过期日志删除功能
Aug 20 Python
Python的对象传递与Copy函数使用详解
Dec 26 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
什么是Python中的顺序表
Jun 02 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
Python 使用office365邮箱的示例
Oct 29 Python
在Python中字典按值排序的实现方法
Nov 12 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Python-OpenCV实现图像缺陷检测的实例
Jun 11 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
PHP制作图型计数器的例子
2006/10/09 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
js保留两位小数使用toFixed实现
2013/07/29 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python异常处理知识点总结
2019/02/18 Python
python实现简单图片物体标注工具
2019/03/18 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
python 实现绘制整齐的表格
2019/11/18 Python
python实现视频读取和转化图片
2019/12/10 Python
使用python-pptx包批量修改ppt格式的实现
2020/02/14 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
英国假发网站:Hothair
2018/02/23 全球购物
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
专业求职信撰写要诀
2014/02/18 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
委托书范本格式
2019/04/18 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
python全面解析接口返回数据
2022/02/12 Python