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

Python:实例没有属性

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

Python:实例没有属性

您的课程没有

__init__()
,因此在实例化该属性时,该属性
atoms
不存在。你不得不做
C.setdata('something')
这样
C.atoms
变为可用。

>>> C = Residues()>>> C.atoms.append('thing')Traceback (most recent call last):  File "<pyshell#84>", line 1, in <module>    B.atoms.append('thing')AttributeError: Residues instance has no attribute 'atoms'>>> C.setdata('something')>>> C.atoms.append('thing')   # now it works>>>

与Java之类的语言不同,在Java中您可以在编译时知道对象将具有哪些属性/成员变量,而在Python中,您可以在运行时动态添加属性。这也意味着同一类的实例可以具有不同的属性。

为了确保始终有一个

atoms
列表(除非您将其弄乱了,否则这是您自己的错),可以添加一个构造函数:

def __init__(self):    self.atoms = []


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

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

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