我刚刚开始学习python,所以这看起来似乎是一个愚蠢的问题,但我真的想知道什么才是真正的可能性,不使用while true
的python解释器执行编译代码的帮助<{3}}代替for (;;)
ceval.c
在同一代码中。
我知道解释器必须进入无限循环,直到返回一些东西,因此无限循环被写成这样的
for (;;) {
#ifdef WITH_TSC
if (inst1 == 0) {
但是通过python自己的原则可读性计数赢得while true
本来是更好的选择?
或者这会有任何性能差异吗?
答案 0 :(得分:1)
for (;;) {
是制作C永远循环的经典方法,源于1970年代。我相信它甚至在最初的Kernighan和Ritchie书中也是如此。它是惯用语和习惯,没有表现理由。
但是很奇怪,那个时候大多数C程序员都会编写
if (!inst1) {
而不是
if (inst1 == 0) {
这使得这个代码在样式方面有点不一致......