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中argparse模块用法实例详解
Jun 03 Python
python实现杨辉三角思路
Jul 14 Python
python爬取指定微信公众号文章
Dec 20 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
Dec 30 Python
对python判断ip是否可达的实例详解
Jan 31 Python
python生成器推导式用法简单示例
Oct 08 Python
NumPy中的维度Axis详解
Nov 26 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
Python短信轰炸的代码
Mar 25 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
Django静态文件加载失败解决方案
Aug 26 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
May 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
用phpmyadmin更改mysql5.0登录密码
2008/03/25 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
javascript 数组操作详解
2015/01/29 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
vue实例中data使用return包裹的方法
2018/08/27 Javascript
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Python3字符串学习教程
2015/08/20 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
售后服务承诺书怎么写
2014/05/21 职场文书
某某同志考察材料
2014/05/28 职场文书
空气的环保标语
2014/06/12 职场文书
单位考核鉴定意见
2015/06/05 职场文书
清明节随笔
2015/08/15 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
详解Python描述符的工作原理
2021/06/11 Python
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server