Programing

파이톤 3의 로_input()과 인풋()의 차이점은 무엇일까.

c10106 2022. 4. 1. 19:22
반응형

파이톤 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")

참조URL: https://stackoverflow.com/questions/4915361/whats-the-difference-between-raw-input-and-input-in-python-3

반응형