小编Swi*_*row的帖子

Django 和“普通”Python 中的类成员和实例成员之间的区别?

初学者问题在这里!前段时间,我问了这个问题: Parse CSV records into a list of Classes,这里也有更技术性的回答:如何避免在实例之间共享类数据?

我了解到,在 Python 类中,需要在__init__(self)函数中声明将基于每个对象定义的变量。

因此对于:

class ClassOne:
    def __init__(self, datetime):
        self.datetime = datetime
    v = []
Run Code Online (Sandbox Code Playgroud)

变量v将持有的所有实例相同数据ClassOne,而对于:

class ClassTwo:
    def __init__(self, datetime):
        self.datetime = datetime
        self.v = []
Run Code Online (Sandbox Code Playgroud)

变量 v 保存的每个实例单独数据ClassTwo

但是,在 Django(我现在正在学习)中,我再次看到变量的“正常”(更像 C++)行为:

class Post(models.Model):
    title = models.CharField(max_length = 255)
Run Code Online (Sandbox Code Playgroud)

此处,变量title保存的每个实例单独数据Post,尽管未在__init__函数中定义。

我的基本问题是,为什么如何title属于个人类对象 …

python django class definition

7
推荐指数
1
解决办法
2226
查看次数

标签 统计

class ×1

definition ×1

django ×1

python ×1