静态方法和实例方法的区别主要体现在两个方面:
1. 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
2. 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
3. 类方法可以被对象调用,也可以被实例调用;传入的都是类对象,主要用于工厂方法,具体的实现就交给子类处理
4. 静态方法参数没有实例参数 self, 也就不能调用实例参数
# coding: utf-8
class Fruit(object):version = 1.0  #静态对象"""docstring for Fruit"""def __init__(self):super(Fruit, self).__init__()self.color = 'blue'def is_clean(cls):print cls.colorreturn True@classmethoddef foo(cls):#类方法可以被对象调用,也可以被实例调用;传入的都是类对象,主要用于工厂方法,具体的实现就交给子类处理Fruit.version += 1print cls.colorprint 'calling this method foo()'@staticmethoddef pish_color(color):#静态方法参数没有实例参数 self, 也就不能调用实例参数Fruit.color = colordef add_foo(self):Fruit.version += 1if __name__ == "__main__":o = Fruit()o.is_clean()# o.pish_color('Green')# o.foo()Fruit.foo()# o.add_foo()# print o.version# o.foo()# print o.version# print Fruit.version
												

Python 静态方法 类方法相关推荐

  1. python 静态方法 类方法 的作用_Python实例方法、类方法、静态方法的区别与作用详解...

    本文实例讲述了Python实例方法.类方法.静态方法的区别与作用.分享给大家供大家参考,具体如下: Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调 ...

  2. Python静态方法 类方法

    通常情况下,类中函数中定义的所有函数,,都是对象的绑定方法,除此之外,还有专门的静态方法和类方法,这两个是专门给类使用的,但是对象非要调用也是不会报错的. 对象在调用的时候会把自己传递给self,也就 ...

  3. Python 实例方法,类方法和静态方法的区别

    在 Python 中,实例方法(instance method),类方法(class method)与静态方法(static method)经常容易混淆.本文通过代码例子来说明它们的区别. 1.实例方 ...

  4. python静态方法可以被继承吗_python 类的继承 实例方法.静态方法.类方法的代码解析...

    这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 dt={} class ...

  5. python静态方法,类方法,属性方法,实例方法

    DAY 3. 静态方法,类方法,属性方法,实例方法 有四种方法,实例方法,类方法,静态方法,属性方法 实例方法 实例方法的第一个参数是self,他会指向类的实例化对象,只能被对象调用,如 class ...

  6. python 静态方法_Python编程思想(25):方法深度解析

    -----------支持作者请转发本文-----------李宁老师已经在「极客起源」 微信公众号推出<Python编程思想>电子书,囊括了Python的核心技术,以及Python的主要 ...

  7. python静态方法_Python静态方法

    python静态方法 Python静态方法 (Python static method) In this quick post, we will learn how to create and use ...

  8. 类的实例方法静态方法类方法属性方法属性

    目录: 分类 实例方法 静态方法 类方法 属性方法 属性 分类: 按照调用方式可以分为3种,实例方法.静态方法.和类方法 实例方法 实例方法只能通过实例对象调用,不能通过类进行调用.实例方法再定义时候 ...

  9. Python静态方法

    Python静态方法 什么是静态方法?静态方法是干什么的?在Python里面静态方法和我们平时写的函数def是一样的.唯一不同之处就是它可以存在于类中,不同实例化类也可以调用.话不多说,通过例题看一下 ...

最新文章

  1. MySQL 5.6 手册 第三章 目录
  2. 监听Activity的生命周期的方式。
  3. 树根c语言,03-树1 树的同构 (C语言链表实现)
  4. 理正地基基础计算机辅助设计的英文缩写,理正基础CAD软件介绍理正基础CAD软件介绍.pdf...
  5. 感谢支持,超预期重印并加码
  6. SpringBoot 整合Shiro Ehcache
  7. python图形界面库哪个好_8个必备的Python GUI库
  8. 百度地图添加自定义shp图层_GIS当中使用uDig打开shp图层,并查看数据结果
  9. yii2 controller 接收get形式传输过来的参数
  10. ARCH与GARCH模型
  11. 什么是codeLens
  12. TKactions V8 for Mac(亮度蒙版PS插件)
  13. 题解 P2919 【[USACO08NOV]守护农场Guarding the Farm】
  14. 代码原理 webkit WebKit-利用百度siteapp开发网站App-(IOS和Android版本)
  15. 清除浏览器痕迹(RunDll32.exe)
  16. 正则表达式 匹配任意长度的字符
  17. 解决 sublimeLinter-php 的配置问题
  18. 【LeetCode】图解KMP算法
  19. 【wpf】<i:Interaction.Triggers> 相关报错
  20. 『正睿OI 2019SC Day3』

热门文章

  1. 压缩软件 WinRAR 去广告
  2. 利用Flash制作一个可以自由拨动的时钟模具
  3. 训练数据不够怎么造?yolo5 最有用的trick 之数据增强详解
  4. c++中CString和String
  5. 微信扫码登录功能实现
  6. 一个 vue 登陆页面
  7. ArcGIS地理坐标投影坐标转换和显示(浅浅记录一下)
  8. 三国志战略版:三势贾的另类搭配,也可以这么强?
  9. docker 开机自启动容器docker运行自启动
  10. 【抽奖】RT-Thread Logo升级 | 新起点,“青”装上阵