python内置了property、staticmethod、classmethod三个装饰器,有时候我们也会用到,这里简单说明下

1、property

作用:顾名思义把函数装饰成属性

一般我们调用类方法成员,都是如下写法:

class propertyTest():

def __init__(self,x,y):

self.x = x

self.y = y

def square(self):

return self.x * self.y

pt = propertyTest(3,5)

print(pt.square())

这里一看square就是类的一个方法,但如果把他写成如下形式,那么就不确定调用的一定是类方法:

class propertyTest():

def __init__(self,x,y):

self.x = x

self.y = y

@property

def square(self):

return self.x * self.y

pt = propertyTest(3,5)

print(pt.square)

这里调用方法类似调用了一个成员变量一样,如果写成print(pt.square())编译器会报错

这就是property的用法, 把一个方法变成一个变量来调用

2、staticmethod

作用:不需要实例化,直接可以调用类中的方法,如下所示

class A():

def __init__(self):

pass

@staticmethod

def plus(x,y):

print(x*y)

c = A()

c.plus(2,3)

A.plus(4,5)

我们可以实例化类A,然后调用方法plus,也可以直接类.方法调用

3、classmethod

作用:和staticmethod类似,不同的是把调用的类作为第一个参数传入,如下:

class A():

def __init__(self):

pass

@classmethod

def plus(cls,x,y):

print(cls)

print(x*y)

A.plus(4,5)

c = A()

c.plus(5,6)

这里print(cls)打印的是类A,其他用法同staticmethod

python内置装饰器property_python之内置装饰器(property/staticmethod/classmethod)相关推荐

  1. python内置函数调用前_python之内置函数(一)

    一.内置函数 1.内置函数总览 abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() ...

  2. python里有哪些函数_python update函数会调用哪些内置函数_Python函数之内置函数

    截止导Python 3.6 目前内置函数有68个 以下是对这些内置函数的分类 一:作用域相关 以字典的形式返回作用域中的名字 locals # 返回本地作用域的所有名字 globals # 返回全局作 ...

  3. python update函数会调用哪些内置函数_Python函数之内置函数

    截止导Python 3.6 目前内置函数有68个 以下是对这些内置函数的分类 一:作用域相关 以字典的形式返回作用域中的名字 locals # 返回本地作用域的所有名字 globals # 返回全局作 ...

  4. python 匿名函数添加判断_Python之内置函数、匿名函数

    一.内置函数(68个) 1. 作用域相关(2) locals(): 局部作用域中的变量 global(): 全局作用域中的变量 在全局中执行这两个变量,结果相同 def func(): pass fu ...

  5. python内置装饰器property_Python中的内置装饰器之property

    装饰器是Python中很重要的一个概念,但是这篇文档不介绍装饰器的实现,我们只需要知道装饰器可以实现一些功能: Python中也包含一些自带的装饰器,这次就说一下属性装饰器property 相关知识点 ...

  6. python内置哪些装饰器_Python内置的wraps装饰器有什么用

    Python装饰器(decorator)在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),为了不影响,Python的functools包中提供了一个叫wraps的de ...

  7. python内置的装饰器最通俗的讲解_如何最简单、通俗地理解Python的装饰器?

    目录: 一.笔记 二.我的自学路线 三.笔记目录 一.笔记 1) 装饰器的定义 ① 装饰器就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数. ② 装饰器的功能特点:1. 不修改已有函数的源代 ...

  8. Python 内置函数功能汇总

    68个内置函数 分类记忆 数学运算 × 7 abs() . divmod() . max() . min() .pow() .round() .sum() 类型转换 × 24 bool() . int ...

  9. Python内置函数作用及解析

    Python内置的函数及其用法.为了方便记忆,已经有很多开发者将这些内置函数进行了如下分类: 数学运算(7个) 类型转换(24个) 序列操作(8个) 对象操作(7个) 反射操作(8个) 变量操作(2个 ...

最新文章

  1. 一个简单的FreeMarker案例
  2. 迷你linux设备,ComputeLab发布MintBox迷你PC:专为Linux系统玩家打造
  3. owasp maven_OWASP依赖性检查Maven插件–必须具备
  4. Python学习教程:Python增强赋值及共享引用注意事项
  5. 关于进程资源限制的getrlimit和setrlimit函数(epoll、服务器经常用)
  6. 【Salient Object Detection】显著性物体检测资料汇总
  7. 计算机网络基石 —— 集线器
  8. 搜索服务Elasticsearch与Solr比较
  9. 第十五讲 循环体for基础
  10. python html转图片失真_html dom 转化成图片踩坑记(canvas toDataURL)
  11. 如何在邮件中加入html代码,如何在电子邮件正文中嵌入HTML文件
  12. dd命令烧写superboot.bin
  13. displayTag标签
  14. MarkDown 和LaTex语法学习(基于软件Typora)
  15. c语言printf()输出格式大全(转载)
  16. 计算机信息技术和网络技术的区别,信息技术计算机技术网络技术通信技术的区别与联系...
  17. XPS10.1仿真PPC440步骤及遇到的问题
  18. ape格式转换ogg格式用什么软件好
  19. kubernetes实践分享
  20. TerraSolid工具试用系列----TerraSolid系列点云处理软件安装备注

热门文章

  1. map iterator_一个简单的Map Iterator性能测试
  2. vue 脚手架测试环境_关于单元测试脚手架的几点思考
  3. cassandra_Apache Cassandra和低延迟应用程序
  4. 有效Java第三版的源代码已更新为使用较新的功能
  5. Java的Kafka:构建安全,可扩展的消息传递应用程序
  6. camel 调用soap_使用Apache Camel通过soap添加WS-Security
  7. 简而言之SPIFFE
  8. structure101_使用structure101分析软件包的依赖关系
  9. Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String
  10. 同步装饰器来替换线程安全类