在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 True
和 isinstance(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()))
我有一个问题,我什至不知道如何搜索。以这个简单的 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 True
和 isinstance(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()))