实例方法:类中第一个参数为self的方法。

类方法:类中第一个参数为类,约定写为cls,并被@classmethod修饰的方法。

静态方法:类中被@staticmethod修饰的方法。

类变量:定义在类的定义之后,如:METHOD 。

实例变量:以self开头,如:self.name。

首先查看一段代码,如下:

class TestClassMethod(object):

    METHOD = 'method hoho'

    def __init__(self):
self.name = 'leon' def test1(self):
print 'test1'
print self @classmethod
def test2(cls):
print cls
print 'test2'
print TestClassMethod.METHOD
print '----------------' @staticmethod
def test3():
print TestClassMethod.METHOD
print 'test3' if __name__ == '__main__':
a = TestClassMethod()
a.test1()
a.test2()
a.test3()
TestClassMethod.test3()

在TestClassMethod类中,test1位实例方法,test2为类方法,test3为静态方法。

类和实例都可以访问静态方法,静态方法和实例方法。

类方法和静态方法都可以访问类变量,但不能访问实例变量。

Python既是面向对象编程的,又是面向函数编程的。

面向对象:以类的形式实现。每个类包括属性和方法,可以通过类创建多个实例,每个实例可以有不同的属性。

面向函数:一个单独的.py文件,里面没有类,只有一些函数和变量。

比如:demo.py

func demo_01():
print "Function demo_01"

在test.py中调用demo_01方法:

import demo

func test_01():
print "Function test_01 begin:"
demo.demo_01()
print "Function test_01 end."

导入模块后,可以直接通过"filename.methodname"的方式调用。

Python 类方法、实例方法、静态方法的更多相关文章

  1. python类方法、静态方法、实例方法例子

    类方法,静态方法,普通方法 #coding=utf-8   class Foo:     def __init__(self,name):         self.name=name       d ...

  2. python类方法和静态方法

    C++的静态方法是用static关键字,python j是没用static的. python中实现静态方法和类方法都是依赖于python的修饰器来实现的. class MyClass: def  me ...

  3. Python类方法、静态方法与实例方法

    静态方法是指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实例化,直接在类之后使用.号运算符调用方法. 通常情况下,静态方法使用@staticmethod装饰器来声明. ...

  4. Python类方法、静态方法与实例方法 -----类里面不需要实例化参数 和没带self的函数 调用此函数的方法

    来源: https://www.cnblogs.com/blackmatrix/p/5606364.html 静态方法是指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实 ...

  5. Classmethod and Staticmethod - Python 类方法 和 静态方法

    classmethod and staticmethod classmethod 的是一个参数是类对象 cls (本类,或者子类), 而不是实例对象 instance (普通方法). classmet ...

  6. python类的实例方法\静态方法\类方法区别解析(附代码)

    前言 搞了好久python,一直搞得不太清楚这几种类的方法,今天花时间好好测试一下,算是弄懂点皮毛吧. 三种方法的不同 先剽窃个图看一下 可以看到,实例是三种方法都可以调用的,而类只可以调用两种.所以 ...

  7. python 实例方法,类方法和静态方法

    在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法, ...

  8. Python 实例方法、类方法、静态方法的区别与作用

    Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文. 首先,这三种方法都定义在类中.下面我先简单说一下怎么定义 ...

  9. python 实例方法,类方法,静态方法,普通函数

    python中有实例方法,类方法,静态方法,普通函数 类方法需要@ classmethod 修饰并且有个隐藏参数 cls,实例方法必须有个参数 self, 静态方法必须有 @staticmethod修 ...

随机推荐

  1. PHP生成GUID的函数

    GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) . GUID是一个通过特定算法产生 ...

  2. 彻底理解Java中的hashcode方法(转)

    本文转自http://www.importnew.com/18851.html 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有 ...

  3. Overview of iOS Crash Reporting Tools: Part 1/2

    Believe it or not, developers are not perfect, and every once in a while you might have a (gasp!) bu ...

  4. Go -- 在Go语言中使用JSON struct

    Encode 将一个对象编码成JSON数据,接受一个interface{}对象,返回[]byte和error: func Marshal(v interface{}) ([]byte, error) ...

  5. Kubernetes:理解资源的概念

    不知你是否已清楚,Kubernetes 是支持 Docker 和 rkt(当前是这两种)的容器调度系统.除了下面这些优美的特性,比如简易部署,配置管理,服务发现,等等,它还允许我们以一种更高效的方式来 ...

  6. My97DatePicker控件显示时分秒

    方式一: if (!WebCalendar.timeShow) WebCalendar.dateReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; else ...

  7. c++11 std::prev、std::next、std::advance与auto 使用

    auto 定义变量时放在变量前,无需知道具体变量类型,系统可自行推断类型,减少编程工作,特别是在模板使用时,使用更方便. 下面简单例子: auto a=; auto b='a'; auto s=&qu ...

  8. Mysql_SQL_常用知识点&实践

    1.Mysql中类似于nvl()函数的ifnull()函数 ) FROM Table 2.添加某个字段(指定字段column的位置) ----------添加字段zoneId ) NOT NULL A ...

  9. 【Hadoop】Hadoop HA机制要点

    Hadoop HA 机制架构.要点.原理: 需要的机器(规划): 至少三台机器 HOSTNAME IP 安装软件ZK HADOOP进程 HADOOP-NODE1 10.20.0.11 JDK,HADO ...

  10. ASP.NET MVC学习---(九)权限过滤机制(完结篇)

    相信对权限过滤大家伙都不陌生 用户要访问一个页面时 先对其权限进行判断并进行相应的处理动作 在webform中 最直接也是最原始的办法就是 在page_load事件中所有代码之前 先执行一个权限判断的 ...