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使用百度翻译进行中翻英示例
Apr 14 Python
Python闭包实现计数器的方法
May 05 Python
Windows下安装python2和python3多版本教程
Mar 30 Python
python 容器总结整理
Apr 04 Python
python next()和iter()函数原理解析
Feb 07 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
用python实现学生管理系统
Jul 24 Python
详解python datetime模块
Aug 17 Python
python简单实现9宫格图片实例
Sep 03 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
Feb 06 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 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 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
Yii2单元测试用法示例
2016/11/12 PHP
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
详解JS函数防抖
2020/06/05 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
初学Python函数的笔记整理
2015/04/07 Python
Python中的元类编程入门指引
2015/04/15 Python
python发送HTTP请求的方法小结
2015/07/08 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
2014年新生军训方案
2014/05/01 职场文书
主要领导对照检查材料
2014/08/26 职场文书
学校百日安全活动总结
2015/05/07 职场文书
房屋租赁意向书范本
2015/05/09 职场文书