Python 입력 함수: rawinput () 와 input () 의 차이

2098 단어 함수.python
전재 하 다    http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html
이 두 가 지 는 모두 python 의 내장 함수 로 콘 솔 의 입력 을 읽 고 사용자 와 상호작용 을 합 니 다.하지만 이들 의 기능 은 다르다.두 개의 작은 예 를 들다.
>>> raw_input_A = raw_input("raw_input: ")
raw_input: abc
 >>> input_A = input("Input: ")
Input: abc

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    input_A = input("Input: ")
  File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
 >>> input_A = input("Input: ")
Input: "abc"
 >>>
>>> raw_input_B = raw_input("raw_input: ")
raw_input: 123
 >>> type(raw_input_B)
 <type 'str'>
>>> input_B = input("input: ")
input: 123
>>> type(input_B)
<type 'int'>
>>>

예 1: 이 두 함 수 는 모두 문자열 을 받 을 수 있 지만 rawinput () 콘 솔 의 입력 을 직접 읽 습 니 다.input () 에 대해 서 는 문자열 을 입력 할 때 따옴표 로 묶 어야 합 니 다. 그렇지 않 으 면 Syntax Error 를 일 으 킬 수 있 습 니 다.
예 2 에서 볼 수 있다: rawinput() 모든 입력 을 문자열 로 보고 문자열 형식 을 되 돌려 줍 니 다.한편, input () 는 순수한 숫자 입력 에 대해 자신의 특성 을 가지 고 입력 한 숫자의 유형 (int, float) 을 되 돌려 줍 니 다.또한 예 1 에서 알 수 있 듯 이 input () 는 합 법 적 인 python 표현 식 을 받 아들 일 수 있 습 니 다. 예 를 들 어 input (1 + 3) 은 int 형의 4 를 되 돌려 줍 니 다.
Built - in Functions 를 보면 다음 을 알 수 있 습 니 다.
input([prompt])
    Equivalent to eval(raw_input(prompt)) 
input () 는 본질 적 으로 raw 를 사용 합 니 다.input () 로 이 루어 진 것 은 raw 를 호출 한 것 뿐 입 니 다.input () 이후 eval () 함 수 를 호출 하기 때문에 표현 식 을 input () 의 매개 변수 로 사용 할 수 있 으 며 표현 식 의 값 을 계산 하고 되 돌려 줍 니 다.
그런데 Built - in Functions 에 이렇게 쓰 여 있어 요. Consider using the rawinput() function for general input from users.
input () 에 특별히 필요 하지 않 으 면 보통 raw 를 추천 합 니 다.input () 는 사용자 와 상호작용 을 합 니 다.
-------
오늘 모 회사 의 필기시험 에 참가 할 때 나 는 raw 를 사용 했다.input () 는 정 수 를 받 아들 이 고 한 줄 의 문장 으로 정형 데 이 터 를 되 돌려 줍 니 다.컵 기구, 당시 에는 input () 이라는 함 수 를 사용 할 수 있 을 지 확실 하지 않 았 습 니 다!이에 특별히 기록 합 니 다.

좋은 웹페이지 즐겨찾기