为什么解释器在评估表达式时会挂起?

时间:2014-06-11 17:32:14

标签: python

这是我的实验:

$ python
Python 2.7.5 (default, Feb 19 2014, 13:47:28) 
[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 3
>>> while True:
...   a = a * a
... 
^CTraceback (most recent call last):
  File "<stdin>", line 2, in <module>
KeyboardInterrupt
>>> a
(seems to go on forever)

据我所知,解释器永远在#34;而真实:&#34;部分,但为什么它会被评估a

1 个答案:

答案 0 :(得分:7)

a现在是一个非常大的数字,打印需要一段时间。在循环中打印a,你会看到它变得非常大,这只是省略打印时的一小部分,因为打印需要时间来执行。另外,请注意a=1总是快速返回1