我们在使用 Python中的方法method时,经常会看到参数中带有self或者是cls,但是我们也没对这个参数进行赋值,有很多的小伙伴都不太理解这两个参数的含义,所以今天的这篇文章就是让大家更好的区分python中的self和cls,下面一起来看看这篇文章吧。

Python类中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,转载请注明出处!