Python에서 사용자의 입력을 받는 방법이 두 가지가 있습니다.


input() 함수를 이용한 방법과 raw_input()을 이용한 방법으로 두 함수는 사용자 입력을 어떻게 받아들이냐의 차이입니다.


예제를 통해 두 가지 방법의 차이점을 알아보겠습니다.


input()의 경우 정수형으로 입력을 받습니다.


>>> a = input()

1234

>>> a

1234

>>> print a

1234


raw_input()의 경우 문자열로 입력을 받습니다.

>>> a = raw_input()

1234

>>> a

'1234'

>>> print a

1234


   


위의 경우 변수 a를 출력했을 때 '' 의 차이를 보고 정수형인지 문자열인지 알 수 있습니다.


a = input()을 했을 경우 '' 없이 asdf라고 입력을 하면 문법 에러가 발생하며 ''로 묶어 문자열임을 나타내야 에러 없이 사용할 수 있습니다.


즉, input은 eval(raw_input())을 한것과 같은 효과이기 때문에 단순히 asdf를 입력한다던가 공백을 전달할 경우 eval()의 문법에 맞지 않기 때문에 에러가 발생하게 됩니다.


반대로 raw_input()의 경우 공백 입력 시 그대로 공백을 출력해주는 것으로 input()와 raw_input()의 차이점을 알 수 있습니다. = )







저작자 표시 비영리 변경 금지
신고

+ Recent posts

티스토리 툴바