파이톤 3의 로_input()과 인풋()의 차이점은 무엇일까.
와의 차이점은 무엇인가?raw_input()
그리고input()
파이톤 3에서?
차이점은 이다.raw_input()
Python 3.x에는 없는 반면input()
사실, 옛날 사람들은raw_input()
로 이름이 바뀌었다.input()
, 그리고 옛사람들.input()
사라졌지만 쉽게 시뮬레이션할 수 있는 방법은eval(input())
. (기억하라.eval()
사악하다.가능하면 입력 내용을 보다 안전하게 구문 분석하도록 하십시오.)
파이톤 2에서는raw_input()
문자열을 반환하고input()
입력을 Python 식으로 실행하려고 시도한다.
끈을 얻는 것이 거의 항상 당신이 원하는 것이었기 때문에 파이톤 3는 그것을 가지고 한다.input()
스벤이 말했듯이, 만약 당신이 오래된 행동을 원한다면,eval(input())
작동하다
Python 2:
raw_input()
사용자가 입력한 내용을 정확히 받아 문자열로 전달한다.input()
맨 먼저 시작하다raw_input()
그리고 나서eval()
그 일에도 불구하고
가장 큰 차이점은 이다.input()
의 구문론적으로 정확한 python 문장을 예상하다.raw_input()
하지 않다
Python 3:
raw_input()
로 이름이 바뀌었다.input()
그래서 지금input()
정확한 문자열을 반환한다.- 올드
input()
제거되었다.
만약 당신이 오래된 것을 사용하고 싶다면.input()
, 즉, 사용자 입력을 python 문으로 평가해야 하며, 다음을 사용하여 수동으로 평가해야 함eval(input())
.
파이톤 3에서는raw_input()
스벤이 이미 언급한 것은 존재하지 않는다.
파이톤 2에서는input()
함수는 당신의 의견을 평가한다.
예:
name = input("what is your name ?")
what is your name ?harsha
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
name = input("what is your name ?")
File "<string>", line 1, in <module>
NameError: name 'harsha' is not defined
위의 예에서 Python 2.x는 하르샤를 문자열보다는 변수로 평가하려고 한다.이를 피하기 위해 "하샤"와 같은 입력 부분에 큰따옴표를 사용할 수 있다.
>>> name = input("what is your name?")
what is your name?"harsha"
>>> print(name)
harsha
날것_날것
원시_input() 함수는 평가하지 않고 입력하는 대로 읽기만 할 것이다.
예:
name = raw_input("what is your name ?")
what is your name ?harsha
>>> name
'harsha'
예:
name = eval(raw_input("what is your name?"))
what is your name?harsha
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
name = eval(raw_input("what is your name?"))
File "<string>", line 1, in <module>
NameError: name 'harsha' is not defined
위의 예에서, 나는 단지 사용자 입력을 평가하려고 했다.eval
기능을 발휘하다
모두가 파이톤2 유저들을 위해 제공한 설명에 조금 더 자세한 설명을 덧붙이고 싶다. raw_input()
지금까지 사용자가 문자열로 입력하는 데이터를 평가한 후이것은 비단뱀이 입력된 데이터를 다시 이해하려고 시도조차 하지 않는다는 것을 의미한다.입력된 데이터가 실제 문자열인지, int인지 또는 기타인지에 관계없이 문자열만 고려하게 될 것이다.
동안input()
반면에 사용자가 입력한 데이터를 이해하려고 한다.그래서 입력은 다음과 같다.helloworld
심지어 이 오류를 '라고 나타낼 것이다.helloworld is undefined
'.
결론적으로 python 2의 경우, 문자열도 입력하려면 '처럼 입력해야 한다.'helloworld
'는 끈을 사용하기 위해 비단뱀에서 사용되는 일반적인 구조다.
코드가 python2 및 python3으로 실행 중인지 확인하려면 스크립트에 함수 입력()을 사용하고 이를 추가하여 스크립트를 시작하십시오.
from sys import version_info
if version_info.major == 3:
pass
elif version_info.major == 2:
try:
input = raw_input
except NameError:
pass
else:
print ("Unknown python version - input function not safe")
'Programing' 카테고리의 다른 글
브라우저를 사용하여 비동기/게을 로드 Vue 구성 요소 (0) | 2022.04.01 |
---|---|
다중 처리풀: 적용 시기, 적용_async 또는 맵? (0) | 2022.04.01 |
반응 저감을 통한 지리 위치 (0) | 2022.04.01 |
Python 3 ImportError: 'ConfigParser'라는 이름의 모듈 없음 (0) | 2022.04.01 |
각도2의 [ngFor]와 [ngForOf]의 차이점은 무엇인가? (0) | 2022.04.01 |