작성
·
3.6K
0
강의랑 똑같이 썼는데
line 37, in <module>
for line in lines:
TypeError: 'builtin_function_or_method' object is not iterable
이라고 에러가 뜨는데 제가 어딜 잘못해서 에러가 나오는지 모르겠습니다.
혹 알려주시면 감사하겠습니다.
답변 1
0
안녕하세요!
for문 한 줄 위에, 파일로부터 여러 줄을 읽어 lines
에 저장하는 과정에서 오류가 난 것으로 보입니다.
파이썬에서는 함수 또한 변수처럼 사용할수 있기에
(일급함수 라고 합니다. 많은 현대 언어에서 사용하는 개념입니다.)
lines = score_file.readlines
와 같이 함수 호출 readlines( ) 형태가 아닌 함수 이름 readlines 을
그대로 대입하시면, lines는 함수가 되어 lines( ) 처럼 호출하실 수 있습니다.
이 상황에서 for문에서 lines를 대상으로 반복을 수행하려고 하니
iterable하지 않다, 즉 for문으로 반복을 수행할 수 없는 대상=함수 라는
오류가 뜬 것 입니다.
여기서는 lines 를 함수로 사용하시려는 의도가 아니라
읽어온 line들을 저장하는 변수로 사용하시려고 한 것 같습니다.