Python while 1 과 while True 차이
성능 테스트
def while1():
x = 0
while 1:
x += 1
if x == 10:
break
def whileTrue():
x = 0
while True:
x += 1
if x == 10:
break
결과
Python 2
>>> import timeit
>>> min(timeit.repeat(while1))
0.49712109565734863
>>> min(timeit.repeat(whileTrue))
0.756627082824707
Python 3
>>> import timeit
>>> min(timeit.repeat(while1))
0.6462970309949014
>>> min(timeit.repeat(whileTrue))
0.6450748789939098
그 이유는 ?
Python2
>>> import keyword
>>> 'True' in keyword.kwlist
False
Python3
>>> import keyword
>>> 'True' in keyword.kwlist
True
>>> True = 'true?'
File "<stdin>", line 1
SyntaxError: can't assign to keyword
파이썬 2 에서 True 키워드가 정의되어 있지 않지만, 파이썬 3에서는 정의 되어있어 인터프리터가 빠르게 읽어올수있다.
결론
Python 2 사용시 긴 반복문을 실행한다면 while 1
Python 3 에서는 둘 다 사용해도됨.
출처 : https://stackoverflow.com/questions/3815359/while-1-vs-whiletrue-why-is-there-a-difference-in-python-2-bytecode