python中自带的三个装饰器的实现

 更新时间:2019-11-08 09:48:58   作者:佚名   我要评论(0)

说到装饰器,就不得不说python自带的三个装饰器:
1、@property 将某函数,做为属性使用
@property 修饰,就是将方法,变成一个属性来使用。


class A():


@pro

说到装饰器,就不得不说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中的装饰器用法详解
  • 深入理解python中的闭包和装饰器
  • Python装饰器的函数式编程详解
  • python装饰器简介---这一篇也许就够了(推荐)
  • 详解Python装饰器由浅入深
  • Python中装饰器高级用法详解
  • Python装饰器用法实例总结
  • Python中的多重装饰器
  • python重试装饰器示例
  • python装饰器使用方法实例
  • 基于Python 装饰器装饰类中的方法实例

相关文章

  • python中自带的三个装饰器的实现

    python中自带的三个装饰器的实现

    说到装饰器,就不得不说python自带的三个装饰器: 1、@property 将某函数,做为属性使用 @property 修饰,就是将方法,变成一个属性来使用。 class A(): @pro
    2019-11-08
  • springboot 默认静态路径实例解析

    springboot 默认静态路径实例解析

    这篇文章主要介绍了springboot 默认静态路径实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下
    2019-11-08
  • Vue搭建后台系统需要注意的问题

    Vue搭建后台系统需要注意的问题

    一、UI框架 推荐 Elemnet ui 二、图表 vue-schart npm install vue-schart -S <template> <div id="app"> <schart :canvasId="canvasId" :type="typ
    2019-11-08
  • BootstrapValidator实现表单验证功能

    BootstrapValidator实现表单验证功能

    BootstrapValidator是一款非常好用的表单验证插件,通过友好的错误提示能增加用户体验。 bootstrapvalidator源码下载 既然是表单验证,那我们最常用的就是用户登录界
    2019-11-08
  • vue中get请求如何传递数组参数的方法示例

    vue中get请求如何传递数组参数的方法示例

    前言: vue中在与后端进行数据交互时,使用axios发送请求,不做配置直接使用get请求传递数组类型参数的时候,后端是无法接收数据的,需要对axios一些简单的配置才能让
    2019-11-08
  • vue-dplayer 视频播放器实例代码

    vue-dplayer 视频播放器实例代码

    官网 vue-dplayer dplayer-doc 示例 如果默认 options 中没有视频链接,之后设置视频链接时,直接通过 this.options.video.url = videoPath 是无效的 需要先获取到播
    2019-11-08
  • vue.js的简单自动求和计算实例

    vue.js的简单自动求和计算实例

    一、导入vue.js 可以用cdn,也可以用内嵌去官网下载插件https://vuejs.org/js/vue.js. <script src="http://files.jb51.net/file_images/article/201911/2019110809
    2019-11-08
  • flask框架自定义过滤器示例【markdown文件读取和展示功能】

    flask框架自定义过滤器示例【markdown文件读取和展示功能】

    本文实例讲述了flask框架自定义过滤器。分享给大家供大家参考,具体如下: 除了一些内置的join length safe等过滤器外, flask还提供了自定义过滤器的功能. 一. 自定
    2019-11-08
  • SpringBoot yml配置文件调用过程解析

    SpringBoot yml配置文件调用过程解析

    这篇文章主要介绍了SpringBoot yml配置文件调用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、y
    2019-11-08
  • shell脚本实现ssh-copy-id批量自动发送公钥到远程主机

    shell脚本实现ssh-copy-id批量自动发送公钥到远程主机

    需求 批量实现自动发送公钥到远程主机 环境 firewalld:关闭 selinux:关闭 实现方式 sshpass命令 shell调用expect命令 sshpass命令 #
    2019-11-08

最新评论