python中的cls和self区别

self和cls的区别

self:Always use self for the first argument to instance methods

self是作为类进行实例化传递的第一个参数,也就是我们的类实例本身

cls:Always use cls for the first argument to class methods

cls作为我们类方法传递的第一个参数,也就是我们的类本身

self和cls的验证
class B:
    def __init__(self,name):
        self.name = name
    def get_name(self):
        return self
    @classmethod
    def name(cls):
        return cls
b = B("wawaw")
print ("打印self:",b.get_name())
print ("打印cls:",B.name())
print ("打印类:",B)
-------------------------------------------------------
C:\Users\x-149\PycharmProjects\pythonProject\venv\Scripts\python.exe D:/sky/testtttttpython.py
打印self: <__main__.B object at 0x000001762D917940>
打印cls: <class '__main__.B'>
打印类: <class '__main__.B'>

​ 总结:从上述实验可以看出,
get_name方法是返回self,打印出来的内容是类的实例的内存地址

name方法是返回类的名称

posted @ 2022-04-24 11:51  天行者_sky  阅读(110)  评论(0编辑  收藏  举报