初学者问题在这里!前段时间,我问了这个问题: 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属于个人类对象 …