正如Ignacio所说,在Python中的类作用域分配的变量是类变量。基本上,在Python中,类只是语句下的
class语句列表。一旦该语句列表执行完毕,Python就会搜集在执行过程中创建的所有变量,并从中创建一个类。如果需要实例变量,则实际上必须将其分配给实例。
另一个注意事项:听起来您可能是从Java(或类似Java)的角度来进行此 *** 作的。因此,也许您知道,因为Java要求显式声明变量,所以它需要在类范围内具有实例变量声明。
class Foo { String bar; public Foo() { this.bar = "xyz"; }}
请注意,只有 声明 位于类范围内。换句话说,为该变量分配的 内存 是“模板”类的一部分,但变量的实际 值 不是。
Python不需要变量声明。因此,在Python翻译中,您只需删除声明。
class Foo: # String bar; <-- useless declaration is useless def __init__(self): self.bar = "xyz"
内存将在需要时分配;实际上只写出作业。就像在Java中一样,它也包含在构造函数中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)