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 03 Python
Python实现以时间换空间的缓存替换算法
Feb 19 Python
Pycharm远程调试openstack的方法
Nov 21 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
django-allauth入门学习和使用详解
Jul 03 Python
利用Python复制文件的9种方法总结
Sep 02 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
Python sublime安装及配置过程详解
Jun 29 Python
详解如何修改python中字典的键和值
Sep 29 Python
python从Oracle读取数据生成图表
Oct 14 Python
python 装饰器重要在哪
Feb 14 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
Mar 23 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实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
vue实现记事本功能
2019/06/26 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
Python实现自动发送邮件功能
2021/03/02 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
教师职称自我鉴定
2014/02/12 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
Golang连接并操作MySQL
2022/04/14 MySQL
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python