我们在使用 Python中的方法method时,经常会看到参数中带有self或者是cls,但是我们也没对这个参数进行赋值,有很多的小伙伴都不太理解这两个参数的含义,所以今天的这篇文章就是让大家更好的区分python中的self和cls,下面一起来看看这篇文章吧。
在Python中使用sel和cls是比较常见的一种使用方法,特别是在学习类的时候,self它就是类中的一个实例化对象,cls其实就代表着一个类,使用的时候就表示被调用的那个类,在一般的情况下,我们只要使用了某一个类的方法时,就需要对这个类进行实例化的操作。如果使用了装饰器,就可以不需要对一个类进行实例化,下面通过例子来向大家进行讲解。示例如下:
class HH(object): a = 'a' @staticmethod def H1(name): print('hello', name, HH.a) def H2(self, name): print('hello', name, self.a) @classmethod def H3(cls, name): print('hello', name, cls.a) class B(HH): a = 'b' @staticmethod def H1(name): print('hello', name, B.a) def H2(self, name): print('subclass B') print('hello', name, self.a) @classmethod def H3(cls, name): print('hello', name, cls.a)
在代码中,首先我们先定义了一个类HH,在这个类中定义了三个函数,分别是H1、H2、H3,其中H1为一个静态函数,在上面还使用了一个装饰器@staticmethod来对类进行修饰,使用这种方法可以将类不需要通过实例来进行操作。
a = HH() b = B() a.H1("小小狗") # hello 小小狗 A.H1("小小狗") # hello 小小狗 b.H1("大狗") # subclass B, hello 大狗 b B.H1("大狗") # subclass B, hello 大狗 b
关于Python类中cls是什么意思?python中的self和cls有什么区别?的内容就先介绍到这里了,希望对大家的学习带来一定的帮助。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。