티스토리 뷰
카테고리 없음
파이썬 -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
- Today
- Yesterday
링크
TAG
- 화분
- 상추
- 파이썬
- linux
- okhttp
- Python
- 화분 버리기
- 자바
- docker
- 파이참
- 텃밭
- pycharm
- 깃허브
- monitoring
- 하둡
- 베란타 텃밭
- InterlliJ
- 베란다 텃밭
- 청양고추
- 상추 재배기
- hadoop
- MacOS
- nf_conntrack
- java
- Jekyll
- GitHub
- 리눅스
- 도커
- 지킬
- 고추
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함