我知道在 Python 中,字符串只是一个表达式,并且字符串本身会在将控制权返回给代码的调用者时立即被垃圾回收,但是...
- 大型类/方法文档字符串 你的代码:他们浪费内存吗 通过构建字符串对象?
- 模块级文档字符串:它们是 由解释器无限存储?
这还重要吗?我唯一担心的是,如果我使用像 Django 这样的大型框架或多个大型开源库,它们往往会被很好地记录下来,可能有数兆字节的文本。在这些情况下,文档字符串是为一路使用的代码加载到内存中,然后保存在那里,还是像普通字符串一样立即收集?
最佳答案
“我知道在 Python 中,字符串只是一个表达式,字符串本身会在将控制权返回给代码的调用者时立即被垃圾回收”,我认为这是一种误解。文档字符串被评估一次(不是在每次函数调用时)并且至少在函数执行期间保持事件状态。
“这有关系吗?”当谈到优化时,不是通过抽象地思考而是通过测量来回答的。 “数兆字节”的文本在内存密集型应用程序中可能不是很多。节省内存的解决方案可能存在于其他地方,您可以通过测量确定是否属于这种情况。
Python 的
-OO
命令行开关删除文档字符串。
关于Python - 大文档字符串会浪费内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738904/