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 运算符 供重载参考
Jun 11 Python
python对指定目录下文件进行批量重命名的方法
Apr 18 Python
python递归计算N!的方法
May 05 Python
用Python登录好友QQ空间点赞的示例代码
Nov 04 Python
Django REST framework 分页的实现代码
Jun 19 Python
django 实现简单的插入视频
Apr 07 Python
解决python使用list()时总是报错的问题
May 05 Python
python如何建立全零数组
Jul 19 Python
python3处理word文档实例分析
Dec 01 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
Python下的twisted框架入门指引
2015/04/15 Python
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
简单解决Python文件中文编码问题
2015/11/22 Python
python素数筛选法浅析
2018/03/19 Python
python对视频画框标记后保存的方法
2018/12/07 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
学习Python爬虫的几点建议
2020/08/05 Python
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
员工安全承诺书
2014/05/22 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书