>백엔드 개발 >파이썬 튜토리얼 >'example = list(...)'가 'TypeError: 'list' 개체를 호출할 수 없습니다.'라는 오류를 발생시키는 이유는 무엇입니까?

'example = list(...)'가 'TypeError: 'list' 개체를 호출할 수 없습니다.'라는 오류를 발생시키는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-03 22:13:42264검색

Why Does

"example = list(...)" 결과가 "TypeError: 'list' 개체를 호출할 수 없습니다."인 이유는 무엇입니까?

Python에서 "example = list(...)" 코드는 제공된 인수로 구성된 목록을 변수 "example"에 할당합니다. 그러나 "TypeError: 'list' object is not callable" 오류가 발생하면 "list"라는 이름이 호출할 수 없는 개체에 다시 할당되었음을 나타냅니다.

특히 Python은 다음의 섀도잉을 허용합니다. 내장 이름. 이는 내장 함수나 클래스와 동일한 이름을 가진 변수를 생성할 수 있음을 의미합니다. 이런 일이 발생하면 지역 변수가 내장 변수보다 우선하므로 해당 범위 내에서 내장 변수에 액세스할 수 없게 됩니다.

이 경우 실수로 "list"라는 변수를 생성했을 가능성이 높습니다. 내장 목록 함수 대신 "목록" 클래스의 인스턴스를 참조합니다. 클래스로서 "목록" 인스턴스는 호출할 수 없으므로 "TypeError"가 발생합니다.

이 섀도잉은 다음 예와 같이 미묘하게 발생할 수 있습니다.

example = list('abc')  # Create a list from the string 'abc'
list = list('xyz')  # Reassign 'list' to a new list instance
example = list('def')  # Error: 'list' is now an instance, not callable

이를 방지하려면 오류가 발생하면 네임스페이스 충돌 가능성을 인식하고 변수에 고유한 이름을 사용하는 것이 중요합니다. 또한 이름 섀도잉 감지 기능을 제공하는 IDE를 사용하면 잠재적인 충돌을 조기에 식별하는 데 도움이 될 수 있습니다.

위 내용은 'example = list(...)'가 'TypeError: 'list' 개체를 호출할 수 없습니다.'라는 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.