Python 静态方法 类方法
静态方法和实例方法的区别主要体现在两个方面:
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 静态方法 类方法相关推荐
- python 静态方法 类方法 的作用_Python实例方法、类方法、静态方法的区别与作用详解...
本文实例讲述了Python实例方法.类方法.静态方法的区别与作用.分享给大家供大家参考,具体如下: Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调 ...
- Python静态方法 类方法
通常情况下,类中函数中定义的所有函数,,都是对象的绑定方法,除此之外,还有专门的静态方法和类方法,这两个是专门给类使用的,但是对象非要调用也是不会报错的. 对象在调用的时候会把自己传递给self,也就 ...
- Python 实例方法,类方法和静态方法的区别
在 Python 中,实例方法(instance method),类方法(class method)与静态方法(static method)经常容易混淆.本文通过代码例子来说明它们的区别. 1.实例方 ...
- python静态方法可以被继承吗_python 类的继承 实例方法.静态方法.类方法的代码解析...
这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 dt={} class ...
- python静态方法,类方法,属性方法,实例方法
DAY 3. 静态方法,类方法,属性方法,实例方法 有四种方法,实例方法,类方法,静态方法,属性方法 实例方法 实例方法的第一个参数是self,他会指向类的实例化对象,只能被对象调用,如 class ...
- python 静态方法_Python编程思想(25):方法深度解析
-----------支持作者请转发本文-----------李宁老师已经在「极客起源」 微信公众号推出<Python编程思想>电子书,囊括了Python的核心技术,以及Python的主要 ...
- python静态方法_Python静态方法
python静态方法 Python静态方法 (Python static method) In this quick post, we will learn how to create and use ...
- 类的实例方法静态方法类方法属性方法属性
目录: 分类 实例方法 静态方法 类方法 属性方法 属性 分类: 按照调用方式可以分为3种,实例方法.静态方法.和类方法 实例方法 实例方法只能通过实例对象调用,不能通过类进行调用.实例方法再定义时候 ...
- Python静态方法
Python静态方法 什么是静态方法?静态方法是干什么的?在Python里面静态方法和我们平时写的函数def是一样的.唯一不同之处就是它可以存在于类中,不同实例化类也可以调用.话不多说,通过例题看一下 ...
最新文章
- MySQL 5.6 手册 第三章 目录
- 监听Activity的生命周期的方式。
- 树根c语言,03-树1 树的同构 (C语言链表实现)
- 理正地基基础计算机辅助设计的英文缩写,理正基础CAD软件介绍理正基础CAD软件介绍.pdf...
- 感谢支持,超预期重印并加码
- SpringBoot 整合Shiro Ehcache
- python图形界面库哪个好_8个必备的Python GUI库
- 百度地图添加自定义shp图层_GIS当中使用uDig打开shp图层,并查看数据结果
- yii2 controller 接收get形式传输过来的参数
- ARCH与GARCH模型
- 什么是codeLens
- TKactions V8 for Mac(亮度蒙版PS插件)
- 题解 P2919 【[USACO08NOV]守护农场Guarding the Farm】
- 代码原理 webkit WebKit-利用百度siteapp开发网站App-(IOS和Android版本)
- 清除浏览器痕迹(RunDll32.exe)
- 正则表达式 匹配任意长度的字符
- 解决 sublimeLinter-php 的配置问题
- 【LeetCode】图解KMP算法
- 【wpf】<i:Interaction.Triggers> 相关报错
- 『正睿OI 2019SC Day3』