>  기사  >  백엔드 개발  >  raw_input()과 input()의 차이점에 대한 자세한 설명

raw_input()과 input()의 차이점에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-16 17:13:581586검색

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 'PythonTab' 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 보시다시피 두 함수 모두 string을 받을 수 있지만 raw_input() 입력을 직접 읽습니다. 콘솔에서(모든 유형의 입력을 허용할 수 있음) input()의 경우, 유효한 Python 표현식을 읽을 수 있기를 바랍니다. 즉, 문자열을 입력할 때 따옴표를 사용하여 묶어야 합니다. 그렇지 않으면 SyntaxError가 발생합니다.

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

python 매뉴얼을 보고 다음 내용을 알아보세요.

input([prompt])

eval(raw_input(prompt))와 동일

Input()은 기본적으로 raw_input()을 사용하여 구현됩니다. raw_input()을 호출한 후 eval() 함수를 호출하기 때문에 input()의 매개 변수로 표현식을 사용할 수도 있으며 표현식을 계산합니다. 수식의 값을 반환합니다.

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

입력에 특별한 것이 없는 한( ) 필수입니다. 그렇지 않은 경우 일반적으로 사용자와 상호작용하기 위해 raw_input()을 사용하는 것이 좋습니다.

위 내용은 raw_input()과 input()의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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