python中self,cls

作者: 空口言_1d2e | 来源:发表于2018-07-05 19:58 被阅读0次

普通的方法,第一个参数需要是self,它表示一个具体的实例本身。

如果用了staticmethod,那么就可以无视这个self,而将这个方法当成一个普通的函数使用。

而对于classmethod,它的第一个参数不是self,是cls,它表示这个类本身。

>>> class A(object):

def foo1(self):

print "Hello",self

@staticmethod

def foo2():

print "hello"

@classmethod

def foo3(cls):

print "hello",cls

>>> a = A()

>>> a.foo1()          #最常见的调用方式,但与下面的方式相同

Hello <__main__.A object at 0x9f6abec>

>>> A.foo1(a)         #这里传入实例a,相当于普通方法的self

Hello <__main__.A object at 0x9f6abec>

>>> A.foo2()          #这里,由于静态方法没有参数,故可以不传东西

hello

>>> A.foo3()          #这里,由于是类方法,因此,它的第一个参数为类本身。

hello<class '__main__.A'>

>>> A                 #可以看到,直接输入A,与上面那种调用返回同样的信息。

hello<class '__main__.A>

SA高处不胜寒(来源)

相关文章

  • python中self,cls

    普通的方法,第一个参数需要是self,它表示一个具体的实例本身。 如果用了staticmethod,那么就可以无视...

  • python中self,cls

    1、self表示一个具体的实例本身。如果用了staticmethod,那么就可以无视这个self,将这个方法当成一...

  • python中self 和cls区别

    类的方法有三种: 一、是通过def定义,需要至少传递一个参数,一般用self,这样的方法必须通过一个类的实例去访问...

  • [Python] 使用new构造单例模式

    1. self 和 cls 首先来简要介绍一下类中的self和cls,如下栗: 调用foo1: 可以发现self和...

  • Python - self 和 cls理解

    self,一般指的是类的实例。cls,一般指的是类。

  • isKindOfClass, isMemberOfClass

    ``` - (BOOL)isMemberOfClass:(Class)cls { return [self c...

  • 关于类方法中的cls

    在python的类方法中,默认使用的第一个参数是cls,而在实例方法中,一般使用self作为第一个参数。 两处比较...

  • 从self、cls看Python的实例化

    背景 刚开始学习Python的时候经常会有一个疑问,为什么每个类方法的第一个参与一定要加一个self?经过一定的编...

  • python中的self

    首先,对于python,只有针对类来说的self才有意义,所以python中的self,说的即是python类中的...

  • 运行时-方法添加

    运行时如何添加方法: 示例说明: 中参数:参数1:cls为执行SEL的类,上述为[self class]参数2:执...

网友评论

    本文标题:python中self,cls

    本文链接:https://www.haomeiwen.com/subject/tscmuftx.html