>  기사  >  백엔드 개발  >  Python에서 input()과 raw_input()의 차이점 분석 및 소개

Python에서 input()과 raw_input()의 차이점 분석 및 소개

高洛峰
高洛峰원래의
2017-03-07 16:13:571447검색

입력 소스코드를 살펴보자

def input(prompt):
return eval(raw_input(prompt))

실제로 input도 raw_input을 호출하면 eval 처리만 하면 됩니다

eval의 역할은 무엇인가요?

input: 사용자 입력을 기준으로 타입 변환
raw_input: 사용자 입력을 문자열로 처리

다음은 자세한 보충입니다.

우선, 우리는 input()과 raw_input()이 모두 콘솔에서 입력을 얻는 데 사용된다는 것을 알고 있습니다. 물론 입력할 때 입력 프롬프트 정보를 추가할 수 있습니다:

        a = raw_input("Please input a:")
        b = input("Please input b:")

그렇다면 무엇을 할까요? 둘의 차이점은 무엇입니까?

input()은 사용자가 숫자나 표현식을 입력할 수 있도록 지원하지만 문자열 입력은 지원하지 않습니다. Raw_input()은 원래 입력을 캡처합니다. 즉, 문자열을 반환하므로 입력이 숫자인 경우 강제 변환을 수행해야 합니다. 예:

   a = int(raw_input("Please input the number a:"))

사실 input()은 raw_input()을 사용하여 구현됩니다. 따라서 input()이 특별히 필요한 경우를 제외하고는 raw_input()을 호출한 후 eval() 함수만 호출합니다. 그렇지 않으면 일반적인 상황에서는 raw_input()을 사용하여 사용자와 상호 작용하는 것이 좋습니다.


map은 함수와 반복 가능한 객체(예: 목록)를 매개변수로 받고, 함수로 각 요소를 처리한 후 새 목록을 반환합니다.
ACM은 a b c와 같은 형식의 한 줄을 입력해야 하는 경우가 있는데, 이 경우에는 map 함수를 사용하여 처리합니다. 여기서는 a, b, c가 모두 정수라고 가정합니다.
a,b,c = map(int, raw_input().split()), raw_input 함수는 문자열을 입력하고, 문자열의 분할 메소드는 문자열을 시퀀스로 분할하는 데 사용됩니다.

파이썬에서 input()과 raw_input()의 차이점을 분석하고 소개하는 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

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