Python中的类方法、实例方法、静态方法

类方法 @classmethod

在python中使用较少,类方法传入的第一个参数是 cls,是类本身;

类方法可以通过类直接调用或者通过实例直接调用,但无论哪种调用方式,最左侧传入的参数一定是类本身。

通常情况下,类方法使用 @classmethod 装饰器来声明

实例方法

实例方法需要将类实例化后调用,如果使用类直接调用实例方法,需要显式的将实例作为参数传入;使用实例调用则不需要。

最左侧传入的参数 self,是实例本身。

静态方法 @staticmethod

指类中无需实例参与即可调用的方法(不需要 self 参数),在调用过程中个,无需将类实例化,直接在类之后使用“.”运算符调用。

通常情况下,静态方法使用 @staticmethod 装饰器来声明。

原文地址:https://www.cnblogs.com/0820LL/p/9983118.html

时间: 2024-10-10 13:39:25

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

python中的类方法、静态方法、对象方法

注:以下都是以公有为前提,私有方法只能在类内部调用,不需多讲. 1.对象方法 这种方法都有一个默认参数:self  这代表实例的这个对象 def __init__(self): print("初始化对象") 类是不能直接调用对象方法: class User(object): name = 'zs' def __init__(self): print("初始化对象") User.__init__() 这样调用抛出一个错误:TypeError: __init__() m

python类:类方法和静态方法

http://blog.csdn.net/pipisorry/article/details/49516185 面相对象程序设计中,类方法和静态方法是经常用到的两个术语.逻辑上讲:类方法是只能由类名调用:静态方法可以由类名或对象名进行调用.在C++中,静态方法与类方法逻辑上是等价的,只有一个概念,不会混淆.在python中,方法分为三类实例方法.类方法.静态方法. @classmethod和@staticmethod 他们的使用场景并不一样.在python中,两种方法的主要区别在于参数 类内部普

python进阶三(面向对象编程基础)【3-4 python中定义类方法】

python中定义类方法 和属性类似,方法也分实例方法和类方法. 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身. 要在class中定义类方法,需要这么写: 1 class Person(object): 2 count = 0 3 @classmethod 4 def how_many(cls): 5 return cls.count 6 def __init__(self, name): 7 self.name = name 8 Person.count = P

【开发者笔记】python中的类方法(@classmethod)和静态方法(@staticmethod)

在java.c#等高级语言中我们用static来定义静态方法和静态变量,那么在python中如何定义静态方法和静态变量呢. python提供了@classmethod和@staticmethod来定义静态方法,刚接触的时候不太明白,Stack Overflow提供了一个比较方便理解的解释,Stack Overflow回答. 但是看完还是不太理解,于是自己写了个实例: class stclass(): d=1 #对象方法 def imethod(self): print(self) print("

python 类属性 实例属性 类方法 实例方法 静态方法(转载)

本文是转载,纯粹是为了方便后面自己查看,建议还是看原文的:http://www.cnblogs.com/dolphin0520/archive/2013/03/29/2986924.html 一.先来谈一下类属性和实例属性 在前面的例子中我们接触到的就是类属性,顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似.对于公有的类属性,在类外可以通过类对象和实例对象访问. class people: name = 'j

Python 中的方法、静态方法(static method)和类方法(class method)

英文原文: https://julien.danjou.info/blog/2013/guide-python-static-class-abstract-methods翻译出处: http://python.jobbole.com/81595/ 一.How methods work in Python 方法就是一个函数.以类的属性被存储.可以通过如下的形式进行声明和访问: In [1]: class Pizza(object):    ...:     def __init__(self,si

python类方法/实例方法/静态方法

类方法:隐式接收第一个参数为类本身的方法,通过类或实例皆可调用,在类方法定义中不能访问实例属性及调用实例方法,可以访问已定义的类属性和调用已定义的类方法,使用@classmethod装饰器进行定义: 1 class Test(object): 2 @classmethod 3 def method(cls,*args,**kw):#此处cls即代表Test类本身 4 pass 实例方法:隐式接收第一个参数为实例本身的方法,只能通过实例进行调用,在实例方法定义中可以访问自身已定义过的实例属性及类属

Python中的类方法及属性总结举例,编写memcached启动脚本举例

1.类的属性总结类属性,也是公有属性, 类的私有属性, 对象的共有属性, 对象的私有属性, 内置属性, 函数的局部变量, 全局变量, #/usr/bin/env python # -*- coding:utf-8 -*- class MyClass(object): var1 = '类属性,类的公有属性 var1' __var2 = '类的私有属性 __var2' def func1(self): self.var3 = '对象的公有属性 var3' self.__var4 = '对象的私有属性

Python 中 创建类方法为什么要加self

Python的类方法和普通的函数有一个明显的区别,在类的方法必须有一个额外的第一个参数(self),但在调用这个方法的时候不必为这个参数数值(显胜于隐的引发).在Python的类方法中这个特别的参数指代是对象本身.而按照Python的惯例,它用self来表示(也可那以用其他任何名称来代替,只是 规范和标准建议一致使用self) 注:self在Python里不是关键字,self代表当前对象的地址,self能避免非限定调用的全局变量.