>백엔드 개발 >파이썬 튜토리얼 >`input()`을 사용하여 따옴표 없이 문자열을 입력할 때 Python 2.7에서 `NameError`가 발생하는 이유는 무엇입니까?

`input()`을 사용하여 따옴표 없이 문자열을 입력할 때 Python 2.7에서 `NameError`가 발생하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-28 14:47:021122검색

Why does Python 2.7 throw a `NameError` when entering strings without quotes using `input()`?

사용자 입력 조작: Python 2.7에서 인용 문제 극복

Python 2.7을 시작하면서 특이한 문제에 직면할 수 있습니다. 묶는 따옴표가 없는 사용자 입력을 얻으려고 할 때. 이는 특히 입력된 문자열을 Python 문자열로 조작하려는 경우 실망스러운 장애물이 될 수 있습니다.

input() 함수를 다음과 같이 사용하려고 시도한 경우:

testVar = input("Ask user for something.")

사용자가 따옴표 없이 "Hello"를 입력하면 다음 오류가 발생한다는 것을 눈치챘을 것입니다.

NameError: name 'Hello' is not defined

이 겉보기에 비밀스러워 보이는 오류는 Python 2.7의 input() 함수가 사용자의 Python 코드로 입력합니다. 결과적으로 따옴표가 없는 문자열을 발견하면 인터프리터는 이를 문자열 리터럴이 아닌 변수 참조로 해석합니다.

이 문제를 해결하고 사용자 입력이 따옴표 없는 문자열로 처리되도록 하려면 다음을 수행하세요. raw_input() 함수를 활용하세요:

testVar = raw_input("Ask user for something.")

input()과 달리 raw_input()은 사용자가 입력한 그대로의 문자열을 유지하므로 추가 따옴표를 고려하지 않고 문자열로 조작할 수 있습니다.

주요 사항:

주요 목표가 따옴표를 묶지 않고 사용자로부터 문자열을 얻는 것인 경우 항상 input()보다 raw_input()을 선택하십시오. 이 간단한 스위치는 잘못된 변수 참조 가능성을 제거하고 원활한 문자열 조작을 보장합니다.

위 내용은 `input()`을 사용하여 따옴표 없이 문자열을 입력할 때 Python 2.7에서 `NameError`가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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