티스토리 뷰
카테고리 없음
파이썬 -UnboundLocalError: local variable 'len' referenced before assignment, len() 함수 에러
킴루코 2019. 12. 12. 23:16반응형
파이썬으로 프로그래밍을 하다가 가끔씩 다음과 같은 에러를 만난다.
UnboundLocalError: local variable 'len' referenced before assignment
len이라는 이름의 변수를 할당하기전에 사용했다는 에러 메시지다. 이 에러를 발생시킨 코드는 다음과 같다.
def func1(s):
cs = set(s)
for i in range(len(cs)):
if False:
len = 0
print(i)
str = "ABCDDD"
func1(str)
문제의 원인은 함수 내부에서 len이라는 변수에 값을 할당해서 사용했기 때문이다. C 언어나 Java의 경우 변수 이름으로 Reserved Word를 사용할 경우 변수 할당이 안되고 컴파일 에러가 발생한다. 하지만 파이썬은 Reserved Word도 변수 이름으로 사용할 수 있다.
신기한 점은 if False: 구문으로 실행되지 않게 처리한 부분에서 len 이라는 이름을 사용했음에도 문제가 발생했다는 점이다.
이런 에러를 만났을 경우 len이라는 이름 대신 length 같은 풀 네임을 사용해서 오류를 예방하도록 하자.
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- 286,770
- Today
- 400
- Yesterday
- 469
링크
TAG
- 베란다 텃밭
- MacOS
- 자바
- 도커
- 상추 재배기
- 화분 버리기
- 지킬
- java
- 텃밭
- 파이썬
- linux
- monitoring
- pycharm
- okhttp
- 베란타 텃밭
- 하둡
- GitHub
- docker
- 청양고추
- Python
- InterlliJ
- Jekyll
- 상추
- 깃허브
- 파이참
- 고추
- hadoop
- nf_conntrack
- 화분
- 리눅스