在python中实例化类的对象是什么类型?

What is the type of the object that instantiates classes in python?

我有一个问题,我什至不知道如何搜索。以这个简单的 class 为例:

class Student(object):
    def _init_(self):
        self.id = 0
    
    def inc(self):
        self.id += 1
 
std_gen = Student

std_gen 的类型是什么? 我试过了:

print(type(std_gen))

我得到了这个:

<class 'type'>

我需要找到它的类型并将其添加到文档字符串中。我什至找不到 something returns Trueisinstance(std_gen, something)

编辑:我发现 isinstance(std_gen, type) returns True 但这在文档字符串中几乎没有意义。这是什么意思?

Class Student 是 'type' 类型的实例。有关更多信息,请参见元类。所以 type(Student) 是 'type'。所以

s = Student()
std_gen = Student
type(s) // <class 'Student'>
type(std_gen) // <class 'type'>

综上所述,s是Student的实例,Student是type的实例,stu_gen只是Student的别名。

我相信这就是您正在寻找的解决方案。

print(type(std_gen()))