프로그래밍언어/파이썬[Error]

[파이썬][Error] 113. NameError - name 'xrange' is not defined

about_IT 2025. 6. 1. 01:00
728x90

NameError: name 'xrange' is not defined 오류는 파이썬 3에서 xrange() 함수를 사용하려고 할 때 발생합니다. xrange()는 파이썬 2에서 사용되던 함수로, 파이썬 3에서는 range()로 통합되었습니다.

파이썬 2에서는 xrange()가 메모리를 절약하기 위해 반복 가능한 객체를 반환했지만, 파이썬 3에서는 range()가 동일한 기능을 수행하도록 변경되었습니다.

● 오류 발생 예시

for i in xrange(5):
    print(i)

위 코드는 파이썬 3 환경에서 실행 시 xrange가 정의되어 있지 않아 NameError를 발생시킵니다.

● 주요 원인

  • 파이썬 2 코드를 파이썬 3에서 실행
  • xrange를 그대로 사용하는 경우
  • 파이썬 3 환경에서 호환성 확인 없이 이식한 코드

● 해결 방법

  • xrange()range()로 변경
  • 필요 시 list(range())를 사용해 리스트 변환
  • 파이썬 2와의 차이점 인지 후 코드 수정

● 예시 코드 (정상 처리)

for i in range(5):
    print(i)

● 결론

xrange()는 파이썬 3에서 제거된 함수이므로 반드시 range()로 대체해야 합니다. 파이썬 2에서 작성된 코드를 이식할 때는 함수 호환성을 반드시 확인해야 합니다.

728x90