내장 함수 덮어쓰기
아래 코드 조각이 두 번째 실행될 때 TypeError가 발생하는 이유는 무엇입니까?
def example(parameter): global str str = str(parameter) print(str) example(1) example(2)
처음 실행시 문제없이 프로그램이 실행됩니다. 그러나 두 번째 호출 시 오류가 발생합니다.
TypeError: 'str' object is not callable
Analytic
이 오류는 코드가 내부에 내장된 str 함수를 재정의하기 때문에 발생합니다. 예제 함수. global 키워드를 사용하고 str에 새 값을 할당하면 코드가 문자열 유형의 원래 구현을 덮어씁니다.
해결 방법
이 문제를 해결하려면 재정의하지 마세요. str과 같은 내장 함수. 대신 지역 변수에 다른 이름을 사용하고 전역 문을 제거하세요.
def example(parameter): local_string = str(parameter) print(local_string)
위 내용은 `str` 함수를 재정의하면 Python에서 TypeError가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!