>  기사  >  백엔드 개발  >  raw_input()과 input()의 차이점

raw_input()과 input()의 차이점

高洛峰
高洛峰원래의
2016-10-17 13:19:031092검색

raw_input과 input은 모두 Python에 내장된 함수로, 콘솔에서 입력을 읽어 사용자와 상호작용합니다. 그러나 그 기능은 동일하지 않습니다. 다음은 사용법의 차이를 보여주는 두 가지 예입니다.

예제 1

Python 2.7.5 (default, Nov 18 2015, 16:26:36) 
[GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> raw_input_A = raw_input("raw_input: ")
raw_input: PythonTab.com
>>> print raw_input_A 
PythonTab.com
>>> input_A = input("Input: ")
Input: PythonTab.com
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name &#39;PythonTab&#39; is not defined
>>> 
>>> input_A = input("Input: ")
Input: "PythonTab.com"
>>> print input_A
PythonTab.com
>>>

예제 2

Python 2.7.5 (default, Nov 18 2015, 16:26:36) 
[GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> raw_input_B = raw_input("raw_input: ")
raw_input: 2015
>>> type(raw_input_B)
<type &#39;str&#39;>
>>> input_B = input("input: ")
input: 2015
>>> type(input_B)
<type &#39;int&#39;>
>>>

예제 1 보시다시피 두 함수 모두 문자열을 받을 수 있지만 raw_input()은 문자열을 직접 읽습니다. 입력 받기 콘솔에서(모든 유형의 입력을 허용할 수 있음) input()의 경우, 합법적인 파이썬 표현식을 읽을 수 있기를 바랍니다. 즉, 문자열을 입력할 때 따옴표를 사용하여 묶어야 합니다. 그렇지 않으면 SyntaxError가 발생합니다.

예 2 다음을 볼 수 있습니다. raw_input()은 모든 입력을 문자열로 처리하고 문자열 유형을 반환합니다. 그리고 input()은 순수 숫자 입력을 처리할 때 고유한 특성을 가지고 있으며, 예제 1에서 볼 수 있듯이 동시에 입력 숫자의 유형(int, float)을 반환합니다. 예: input( 1 + 3 )은 4를 int로 반환합니다.

Python 매뉴얼을 확인하고 배우세요:

input([prompt])

eval(raw_input(prompt))

input() 본질과 동일 여전히 raw_input()을 사용하여 구현되며, raw_input()을 호출한 후 eval() 함수를 호출하기만 하면 표현식을 input()의 매개변수로 사용할 수도 있으며 표현식의 값을 계산하여 반환합니다.

그러나 내장 함수에는 다음과 같은 문장이 있습니다. 사용자의 일반적인 입력에는 raw_input() 함수 사용을 고려하십시오.

input()이 특별히 필요한 경우가 아니면, 그렇지 않은 경우 일반적인 상황에서는 raw_input()을 사용하여 사용자와 상호 작용하는 것이 좋습니다.



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