类名是python中的对象吗?
我正在学习python,并开始阅读Django框架。在示例中,我发现:类名是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
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模型的一项功能是,在实际定义类之前,允许使用字符串引用类成员身份
。相关文档: