类名是python中的对象吗?

类名是python中的对象吗?,python,django,class,Python,Django,Class,我正在学习python,并开始阅读Django框架。在示例中,我发现: class Person(models.Model): name = models.CharField(max_length=128) def __str__(self): # __unicode__ on Python 2 return self.name class Group(models.Model): name = models.CharFiel

我正在学习python,并开始阅读Django框架。在示例中,我发现:

class Person(models.Model):
    name = models.CharField(max_length=128)

    def __str__(self):              # __unicode__ on Python 2
        return self.name

class Group(models.Model):
    name = models.CharField(max_length=128)
    members = models.ManyToManyField(Person, through='Membership')

    def __str__(self):              # __unicode__ on Python 2
        return self.name
代码的作用并不重要。我的问题是关于函数
ManyToManyField(Person,通过class='Membership')
。在这里,我们将向函数传递一个类名


为什么允许这样做?类名称是python中的对象吗?

类是python中的对象。python中的每个实体都继承自基本实体
对象
也继承自
对象

>>> class People:
...     pass
... 
>>> type(People)
<type 'classobj'>
>>> 
>>> isinstance(People, object)
True

Python中的每一样东西都是
对象

>>> my_list = []
>>> my_list
[]
>>> isinstance(my_list, object)
True

是Python中的对象。python中的每个实体都继承自基本实体
对象
也继承自
对象

>>> class People:
...     pass
... 
>>> type(People)
<type 'classobj'>
>>> 
>>> isinstance(People, object)
True

Python中的每一样东西都是
对象

>>> my_list = []
>>> my_list
[]
>>> isinstance(my_list, object)
True

是Python中的对象。python中的每个实体都继承自基本实体
对象
也继承自
对象

>>> class People:
...     pass
... 
>>> type(People)
<type 'classobj'>
>>> 
>>> isinstance(People, object)
True

Python中的每一样东西都是
对象

>>> my_list = []
>>> my_list
[]
>>> isinstance(my_list, object)
True

是Python中的对象。python中的每个实体都继承自基本实体
对象
也继承自
对象

>>> class People:
...     pass
... 
>>> type(People)
<type 'classobj'>
>>> 
>>> isinstance(People, object)
True

Python中的每一样东西都是
对象

>>> my_list = []
>>> my_list
[]
>>> isinstance(my_list, object)
True

因此,默认情况下,用户定义的类型(类)不是从
object
继承的?@khajvah Yes在Python中,用户定义的类也是
object
。因此,默认情况下,用户定义的类型(类)不是从
object
继承的?@khajvah Yes在Python中,用户定义的类也是
object
。因此,用户定义的类型(类)默认情况下不是从
object
继承的?@khajvah Yes用户定义的类在Python中也是
object
。因此默认情况下不是从
object
继承用户定义的类型(类)?@khajvah Yes用户定义的类在Python中也是
object
。不,您没有向函数传递类名。您正在将一个实际类传递给另一个类的实例化。如果您想知道为什么将
Person
作为引用传递,而将
Membership
作为字符串传递,Django模型的一项功能是允许在实际定义类之前,使用字符串引用类
成员身份
。相关文档:不,您没有向函数传递类名。您正在将一个实际类传递给另一个类的实例化。如果您想知道为什么将
Person
作为引用传递,而将
Membership
作为字符串传递,Django模型的一项功能是允许在实际定义类之前,使用字符串引用类
成员身份
。相关文档:不,您没有向函数传递类名。您正在将一个实际类传递给另一个类的实例化。如果您想知道为什么将
Person
作为引用传递,而将
Membership
作为字符串传递,Django模型的一项功能是允许在实际定义类之前,使用字符串引用类
成员身份
。相关文档:不,您没有向函数传递类名。您正在将一个实际类传递给另一个类的实例化。如果您想知道为什么将
Person
作为引用传递,而将
Membership
作为字符串传递,Django模型的一项功能是,在实际定义类之前,允许使用字符串引用类
成员身份
。相关文档: