입력 함수 오류 해결: 'NameError: name '...'' 정의되지 않음
Python의 입력 함수(특히 버전) 3.x 이전에는 사용자 입력을 처리할 때 특별한 문제가 있었습니다. "NameError: name '...''이(가) 정의되지 않았습니다."라는 오류는 입력의 평가 특성에서 비롯됩니다.
Python 2.7에서 입력은 사용자 입력을 받아들일 뿐만 아니라 이를 다음과 같이 평가합니다. 파이썬 표현. 이는 "dude"와 같은 변수 이름을 입력하면 입력이 이를 프로그램의 바인딩된 변수로 해석하려고 시도한다는 의미입니다. 해당 변수가 없으면 오류가 발생합니다.
Python 2.7 입력의 함정 방지
이러한 잠재적인 보안 위험을 피하려면 raw_input으로 전환하는 것을 고려하세요. Python 3.x의 입력 이전 버전입니다. raw_input은 사용자 입력을 실행하지 않고 단순히 읽습니다.
Python 3.x에서 입력은 raw_input을 효과적으로 대체하여 동일한 기능을 제공합니다. 그러나 Python 3.x 문서에서는 이전 입력 동작이 필요한 경우 eval(input())을 사용할 수 있다고 경고합니다.
구별 이해
input과 raw_input의 차이점을 설명하고 다음 Python 2.7을 고려해 보겠습니다. 코드:
dude = "thefourtheye" input_variable = input("Enter your name: ")
입력으로 "dude"를 입력하면 친구가 프로그램에서 정의된 변수이기 때문에 input_variable에 "thefourtheye" 값이 할당됩니다.
이를 다음과 대조해 보세요. 코드:
input_variable = raw_input("Enter your name: ")
이 경우 input_variable에는 문자열 "dude" 자체가 할당됩니다. 평가.
보안 고려 사항
Python 2.7의 입력 평가 기능은 보안 문제를 야기합니다. 예를 들어, os 모듈을 임포트하고 사용자가 "os.remove('/etc/hosts')"를 입력하면 함수 호출로 실행됩니다. 이러한 위험을 완화하려면 사용자 입력이 실수로 코드로 평가되지 않도록 항상 raw_input 사용을 고려하세요.
위 내용은 내 Python 입력 함수에서 'NameError: name '...'이(가) 정의되지 않았습니다.'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 해석 된 언어이지만 편집 프로세스도 포함됩니다. 1) 파이썬 코드는 먼저 바이트 코드로 컴파일됩니다. 2) 바이트 코드는 Python Virtual Machine에 의해 해석되고 실행됩니다. 3)이 하이브리드 메커니즘은 파이썬이 유연하고 효율적이지만 완전히 편집 된 언어만큼 빠르지는 않습니다.

USEAFORLOOPHENTERATINGOVERASERASERASPECIFICNUMBEROFTIMES; USEAWHILLOOPWHENTINUTIMONDITINISMET.FORLOOPSAREIDEALFORKNOWNSEDINGENCENCENS, WHILEWHILELOOPSSUITSITUATIONS WITHERMINGEDERITERATIONS.

Pythonloopscanleadtoerrors likeinfiniteloops, modifyinglistsdizeration, off-by-by-byerrors, zero-indexingissues, andnestedloopineficiencies.toavoidthese : 1) aing'i

ForloopSareadvantageForkNowniTerations 및 Sequence, OffingSimplicityAndInamicConditionSandunkNowniTitionS 및 ControlOver Terminations를 제공합니다

Pythonusesahybridmodelofilationandlostretation : 1) ThePyThoninterPretreCeterCompileSsourcodeIntOplatform-IndependentBecode.

Pythonisbothingretedandcompiled.1) 1) it 'scompiledtobytecodeforportabilityacrossplatforms.2) thebytecodeisthentenningreted, withfordiNamictyTeNgreted, WhithItmayBowerShiledlanguges.

forloopsareusedwhendumberofitessiskNowninadvance, whilewhiloopsareusedwhentheationsdepernationsorarrays.2) whiloopsureatableforscenarioScontiLaspecOndCond


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.