栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么Python似乎将实例变量视为对象之间共享?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么Python似乎将实例变量视为对象之间共享?

正如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中一样,它也包含在构造函数中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669357.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号