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方法是返回类的名称
本文来自博客园,作者:天行者_sky,转载请注明原文链接:https://www.cnblogs.com/Skywal/p/16185163.html