>백엔드 개발 >파이썬 튜토리얼 >Python의 입력 함수를 사용할 때 NameError가 발생하는 이유는 무엇입니까?

Python의 입력 함수를 사용할 때 NameError가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-20 00:54:09779검색

Why Am I Getting a NameError When Using Python's Input Function?

NameError: 입력 함수를 사용할 때 '입력 변수' 이름이 정의되지 않았습니다.

Python에서는 입력 함수를 사용하여 사용자 입력을 캡처할 수 있습니다. 그러나 입력 기능을 사용할 때 NameError가 발생하는 경우 이 기사에서는 원인을 탐색하고 해결 방법을 제공합니다.

Python 2.7 대 3.x

Python 2.7의 경우 , 입력에는 input과 raw_input이라는 두 가지 함수가 있습니다. 입력 함수는 입력을 Python 표현식으로 평가하는 반면 raw_input은 입력을 단순히 문자열로 캡처했습니다.

Python 3.x에서는 raw_input의 이름이 input으로 변경되었습니다. 그러나 이제 새 입력 함수는 이전 raw_input처럼 동작하여 표준 입력에서 한 줄을 읽고 이를 문자열로 반환합니다.

Python 2.7에서 NameError 문제 해결

Python 2.7에서 입력 함수를 사용할 때 NameError가 발생하면 입력을 할당하려는 변수가 현재 존재하지 않는다는 의미입니다. 파이썬 컨텍스트. 입력을 Python 표현식으로 평가하려고 시도했지만 정의되지 않은 변수로 인해 실패할 때 이름 오류가 발생합니다.

Python 2.7의 보안 고려 사항

사용자 입력을 평가하는 입력 기능도 보안 위험을 초래합니다. 스크립트가 높은 권한으로 모듈을 로드하는 경우 악성 코드가 포함된 사용자 입력으로 인해 시스템이 손상될 수 있습니다.

해결 방법

NameError를 방지하고 보안 위험을 완화하려면 raw_input을 사용하세요. 대신 Python 2.7에서 함수를 사용하세요. 이 함수는 입력을 평가하지 않고 단순히 문자열로 캡처합니다. 입력을 특정 데이터 유형으로 변환해야 하는 경우 정수에 int()와 같은 적절한 함수를 사용할 수 있습니다.

Python 3.x에서는 이제 작동하는 입력 함수를 사용할 수 있습니다. Python 2.7의 raw_input과 같습니다.

위 내용은 Python의 입력 함수를 사용할 때 NameError가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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