86.静态方法和类方法:静态方法和类方法是这样创建的:将它们分别包装在staticmethodclassmethod类的对象中。静态方法的定义中没有参数self,可直接通过类来调用。类方法的定义中包含类似于self的参数,通常被命名为cls。对于类方法,也可通过对象直接调用,但参数cls将自动关联到类。下面是一个简单的示例:

  class Myclass:def smeth():print("this is a static method")smeth=staticmethod(smeth)def cmeth(cls):print("this is a class method of",cls)cmeth=classmethod(cmeth)

结论:像上面用手工包装和替换的方法有点繁琐,所以可以使用更简单一点的方法,装饰器-可以用于包装任何可调用的对象,并且可用于方法和函数。
修饰器用法:@放在方法或者函数的前面接着列出这些装饰器(当指定多个装饰器时,应用的顺序与列出的顺序相反)

  class Myclass:@staticmethdef smeth():print("this is a static method")@classmethdef cmeth(cls):print("this is a class method of",cls)
输出:class Myclass:@staticmethoddef smeth():print("this is a static method")@classmethoddef cmeth(cls):print("this is a class method of",cls)
结论:定义了这些方法之后,不需要实例化类。

关于学习Python的一点学习总结(47->静态方法和类方法)相关推荐

  1. 关于学习Python的一点学习总结(57->正则表达式及re模块中的一些函数)

    关于这个正则表达式,我本人也是有点不完全懂,还在继续学习中. 97.re 1.正则表达式: 1.通配符:正则表达式可与多个字符串匹配,可使用特殊字符来创建这种正则表达式 例如:正则表达式'.ython ...

  2. 关于学习Python的一点学习总结(54->集合->堆->双端队列)

    集合,堆,双端队列 再谈集合set:集合是由内置类set实现的 >>> set(range(10)){0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 可使用序列(或其他可 ...

  3. 关于学习Python的一点学习总结(58->匹配对象和编组)

    匹配对象和编组 1.模块re中,查找与模式匹配的子串的函数都在找到时返回MatchObject对象.这种对象包 含与模式匹配的子串的信息,还包含模式的哪部分与子串的哪部分匹配的信息.这些子串部分称 为 ...

  4. 关于学习Python的一点学习总结(52->模块就是程序)

    91.模块就是程序 # hello.py print("Hello, world!") 将其保存在文件hello.py中,这个文件的名称(不包括扩展名.py)将成为模块的名称.这个 ...

  5. 关于学习Python的一点学习总结(41->相关的BIF操作)

    81.一些相关的BIF 1.>>> class BIF:def __init__(self,t):self.t=thasattr(object,name):判断name是否在obje ...

  6. 关于学习Python的一点学习总结(38)

    78.文件: 1.文件的类型:包括ASCII,MIME,.txt等格式. 2.文件的格式类型:(1).MPEG视频:mp4;(2).图片格式:.jpg:(3)powerpoint文档:.ppt; (4 ...

  7. 关于学习Python的一点学习总结(35->关联超类)

    76.调用为关联的超类(继承的类)构造函数 先举个例子: class Bird: def __init__(self): self.hungry = True def eat(self): if se ...

  8. 关于学习Python的一点学习总结(30->递归实例)

    68.递归 先来两个例子: 1.阶乘 def Fact(num):result=numfor i in range(1,num):result*=ireturn result>>> ...

  9. 关于学习Python的一点学习总结(25->pass占位符)

    60.1.什么都不做:pass-可用作为占位符,当你写的某一块程序什么都不做的时候,可以添加这个 pass,不然程序会无法执行. 2.del:Python中的垃圾收集器 先看一段代码: >> ...

最新文章

  1. 深度学习 CNN trick 合集
  2. html加载完显示图片,js图片未加载完显示loading效果
  3. 一个有趣的python排序模块:bisect
  4. PhotoShop基础知识
  5. eureka管理界面是多少_Eureka注册中心
  6. 加密技术,给邮件安全加上一把锁
  7. 苹果x用了2年了,当前4G信号时有时无,大家有遇到过么?
  8. 最长公共子序列 (nyoj36) [动态规划]
  9. 基于matlab的车牌识别系统的实现
  10. 微信小程序tab切换,(scroll-view + swiper)可滑动切换,导航栏跟随滚动实现
  11. Beaglebone Black——开机自动运行程序
  12. AUTOSAR Network Wakeup(Can) Configuration
  13. RxJava 学习笔记(八) --- Combining 结合操作
  14. excel查重技巧:如何用组合函数快速统计重复数据(下)
  15. 单路D触发器做自锁开关
  16. IDE的下载和安装(试用 无注册码)
  17. 10-222 在员工表中查询每年入职的员工人数
  18. uniapp阿里矢量图多色图标的使用方法(超级无敌巨无霸详细)
  19. 华为交换机 STP 协议
  20. 词频分析--字典树的应用

热门文章

  1. 什么是多项式时间?什么是NP问题?
  2. 几句代码 修改 Kali 2020.3 - root 用户的密码
  3. 复习计算机网络基础 day7--网络层
  4. TechEd 2010-如何构建企业级ETL 后续补充
  5. python新手任务:python循环嵌套
  6. jupyter的下载安装
  7. mingw32-gcc.exe: error: CreateProcess: No such file or directory
  8. Log4j官方文档翻译(九、输出到数据库)
  9. 6个强大的PHP/Mysql代码生成器介绍
  10. 做百度推广需要投入多少费用?