首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中跟踪类实例变量的好方法是什么?

在Python中跟踪类实例变量的好方法是什么?
EN

Stack Overflow用户
提问于 2009-01-30 18:21:13
回答 9查看 3.6K关注 0票数 11

我是一个C++程序员,刚刚开始学习Python。我想知道如何跟踪大型Python类中的实例变量。我习惯于拥有一个.h文件,它为我提供了一个完整的类成员列表(包括注释)。但是既然Python允许动态添加新的实例变量,那么如何跟踪它们呢?

我设想了一个场景,当我已经有一个实例变量时,我错误地添加了一个新的实例变量--但是它离我工作的地方还有1000行。是否有避免这种情况的标准做法?

编辑:--似乎我用“成员变量”这个词造成了一些混乱。我指的是实例变量,并相应地编辑了我的问题。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-01-30 18:39:58

首先:类属性,还是实例属性?或者两者兼而有之

通常您只需在__init__中添加实例属性,在类定义中添加类属性,通常在方法定义之前添加.这可能涵盖90%的用例。

如果代码动态添加属性,它可能(希望:-)有很好的理由这样做.利用动态特性、内省等等,除此之外,以这种方式添加属性可能不像您想象的那么常见。

票数 8
EN

Stack Overflow用户

发布于 2009-01-31 04:45:58

我想说的是,避免这种情况的标准做法是,不要在离任何东西1000行的地方编写类!

说真的,对于任何有用的类来说,这都太过分了,尤其是在像Python这样具有表现力的语言中。使用标准库提供的更多内容,并将代码抽象到单独的模块中,将有助于降低LOC的数量。

标准库中最大的类有远低于100行的!

票数 10
EN

Stack Overflow用户

发布于 2009-01-31 07:15:15

匹林特可以静态地检测__init__中没有检测到的属性,以及许多其他潜在的bug。

我还建议编写单元测试并经常运行代码,以检测这些类型的"whoopsie“编程错误。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/496582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档