python基础知识讲解——@classmethod和@staticmethod的作用

在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来说:

@classmethod  必须有参数cls,在继承的子类中传入的cls变量为子类

@staticmethod 子类与父类的该方法相同

看代码:

class ParentClass:

@classmethod

def clsfun(cls):

print cls.__name__+':classmethod'

@staticmethod

def stcfun():

print 'ParentClass:staticmethod'

class SonClass(ParentClass):

pass

'''@classmethod

def clsfun(cls):

print 'SonClass:classmethod'

@staticmethod

def stcfun():

print 'SonClass:staticmethod' '''

ParentClass.clsfun()

ParentClass.stcfun()

p = ParentClass()

p.clsfun()

p.stcfun()

SonClass.clsfun()

SonClass.stcfun()

s = SonClass()

s.clsfun()

s.stcfun()

python classmethod知识_python基础知识讲解——@classmethod和@staticmethod的作用相关推荐

  1. python数学知识点_python基础知识整理

    序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充 2. 程序: 一组计算机能识别和执行的指令,是实现某种需求的软件. 3. 操作系统: ...

  2. python发音方法_Python基础知识之一

    一.Python的安装 Windows下: 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键 ...

  3. python截取逗号_Python基础知识: 元组

    Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...

  4. 关于python变量使用_Python 基础知识关于变量的定义使用

    转自:https://www.cnblogs.com/manongajie/p/12736991.html 1 python 变量概述 变量,英文叫做 variable. 从形式上看,每个变量都拥有独 ...

  5. decode函数python在哪里_Python基础知识——encode和decode函数

    以前我们介绍过,Python2.x中默认的编码的基础类型是unicode编码的类型,在Python3.x才转化为基于unicode的字符串. 那么我们在Python2.x的学习中就会遇到各种各样的编码 ...

  6. 实验楼python挑战答案_python基础知识

    四.正则表达式 作用:字符串(str)匹配模式(re) 代码实例: import re str='abc,afc,amc,aic,^abc' res=r'a[bf]c'#结果:['abc', 'afc ...

  7. python分数约分_Python基础知识

    #全部行都能输出 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_intera ...

  8. python计算器基础知识_Python基础知识+计算器练习

    1.列出python中的标识符命名规则 标示符由字母.下划线和数字组成,且数字不能开头.不能是关键字,不能有特殊符号:,/,;,#等 #关键字 >>> import keyword ...

  9. python面向对象基础知识_Python基础知识day08面向对象(上)

    本帖最后由 小江哥 于 2018-9-14 11:45 编辑 面向对象编程介绍 想一想 请用程序描述如下事情: · A同学报道登记信息 · B同学报道登记信息 · C同学报道登记信息 · A同学做自我 ...

最新文章

  1. -bash: fultter: command not found
  2. labview初始学习过程中遇到串口读取框红蓝色交替闪烁的处理
  3. network setup service启动后自动停止_一个简单的测试环境下的自动化部署方案
  4. sqlserver2005分布式架构负载
  5. CF878E-Numbers on the blackboard【并查集,贪心】
  6. python入门——P50模块:模块就是程序
  7. Php clearstatcache() 函数详解
  8. 在Cocos2d-x中使用CocosBuilder
  9. android软件画面共享,安卓两台手机怎么实现屏幕共享?安卓两台手机实现屏幕共享教程...
  10. Unity_Demo | 中世纪风3D-RPG游戏
  11. C++:多态性与虚函数 | 虚函数的注意点 | 汇编角度来看动态联编过程
  12. uefi启动服务器系统安装win7系统教程,uefi引导gpt安装win7教程
  13. IEEEtran 的使用及 bibtex的文献类型
  14. matlab绘制垂线(x轴或y轴)
  15. 苏州企业所得税汇算清缴十大风险点(上)
  16. 2014-2020年国有大型商业银行和全国股份制商业银行绿色信贷数据
  17. Spring系列学习之Spring Cloud Task App Starters 微服务任务进程可执行程序
  18. 大数据学习-用户画像
  19. 如何用手机打印文件?手机中存储的文档怎么打印
  20. 小猫爪:S32K3学习笔记05-S32K3之ADC

热门文章

  1. 虚拟机下Linux安装图解之四:VMware Tools 的安装
  2. 从源码分析DEARGUI之add_plot和add_line_series
  3. CSS:link标签rel和media的解释(转)
  4. MVC,MVP 和 MVVM 的图示
  5. Kafka: Connect
  6. shell 下的运算表达
  7. 弹框--更新下载--安装
  8. C++中友元函数和友元类
  9. 单例模式 之 单例模式——Holder
  10. [转]在VS2008上安装WTL8.1时碰到的一些问题