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 相关文章推荐
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
Python基于select实现的socket服务器
Apr 13 Python
Python正则表达式教程之二:捕获篇
Mar 02 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
Python continue继续循环用法总结
Jun 10 Python
python简单实现AES加密和解密
Mar 28 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
python如何调用php文件中的函数详解
Dec 29 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
基于jquery的无刷新分页技术
2011/06/11 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
Python实现统计文本文件字数的方法
2017/05/05 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
Python实现微信表情包炸群功能
2021/01/28 Python
python编程的核心知识点总结
2021/02/08 Python
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
办公室内勤岗位职责范本
2013/12/09 职场文书
社区交通安全实施方案
2014/03/22 职场文书
民事和解协议书格式
2014/11/29 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS