![]() |
1
6
我不希望这些方法之间存在任何持久的性能差异。 第一种方法的优点是,您所依赖的任何性能良好的代码(您导入的模块)都将自动接受您所需的重定向。
第二种方法没有优势。它只适合调试或丢弃代码。。。甚至不是个好主意。您希望将输出决策合并到几个定义良好的地方,而不是在每次调用
第三种方法。。。扩展的原则是,所有的输出都应该在您为此目的定义的特定函数和类方法中生成。。。可能是最好的。
例如,我有不止一个偶然的地方,我写了一些东西来执行一些复杂的查询和数据收集从不同的来源和打印报告。。。说到差异。。。稍后需要调整成一种形式,这种形式可以以某种形式(如YAML/JSON)输出数据,这些数据可以输入到另一个系统(例如,用于协调一个数据源与另一个数据源)。 如果从一开始就将主操作与输出和格式化分开,那么这种调整相对容易。否则它需要相当多的重构(有时相当于完全重写)。 |
![]() |
3
4
我认为语义很重要: 我建议 当你打印相同的东西,你会打印到控制台的情况。语义是一样的。对于更复杂的情况,我将使用标准日志模块。
第二种和第三种方法在打印文本行时有点不同。
第二种方法
-
我会用 在主要编写二进制或非文本格式时,在大多数其他情况下,我会在print语句中使用redirect。 |
![]() |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 3 年前 |
![]() |
ilteris · 为什么程序在fscanf后崩溃 3 年前 |
![]() |
Peaceful · 使用fscanf读取C中具有未知行数的文件 3 年前 |
![]() |
NOCi · 如何将Tensorflow的结果记录到CSV文件 3 年前 |
![]() |
Oakzeh · 如何在字符串索引之前读取文件并删除字符 3 年前 |