python中self.__class__.__name__方法的意思
在读一些源码的时候经常看到作者在类的定义中调用这个方法,到底是什么意思呢?
首先拆开来看,__class__
和__name__
是两个方法。
self.__class__
self.__class__
可以获得一个对象所属的类(class)是什么,看线面的例子:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
peter = Person("Peter",35)
print(peter.__class__)
输出:
<class '__main__.Person'>
可以看到,peter所属的类是Person
实际上,等同于调用python内置的函数type()
:
print(type(peter))
<class '__main__.Person'>
self.__class__.__name__
而__name__
的作用则是在__class__
的基础上只返回类名Person
:
peter = Person("Peter",35)
print(peter.__class__.__name__)
输出
Person
评论已关闭,相关问题请到社区本站新建的社区讨论
对给您造成的不便表示抱歉!