2022.01.24 - [PL (Programming Language)/Python] - [Python] 파이썬 연산자와 자동 형변환(캐스팅, Casting)
파이썬의 사용자 입력함수 input()를 배워보고, split()를 이용해서 여러 값을 한 번에 입력받는 것도 알아보겠습니다. input() 함수는 사용자로부터 입력값을 '문자열'로 받습니다. 이 때문에 필요한 형 변환 기법까지 같이 소개하겠습니다.
목차
1. input()
input()
input() 함수를 통해 사용자의 입력값을 받을 수 있습니다.
input함수에 사용자에게 입력을 안내할 문구도 추가할 수 있습니다. 타 언어에서는 print 함수를 따로 써서 안내해야했지만, input함수는 그 기능까지 포함하고 있습니다.
2. split()
입력받아야 하는 값의 개수만큼, input함수을 사용해야한다면 매우 불편한 일입니다. 하지만 파이썬에서는 split()함수를 통해서 쉽게 여러 값을 입력받을 수 있습니다.
split(구분자)
split함수의 기본(default) 구분자는 ' '(공백문자, 스페이스바)이며 띄어쓰기로 값을 구분합니다.
쉼표로 구분하고 싶다면, split(',')로 쓰시면 됩니다.
3. 형 변환
input() 함수는 사용자의 입력을 '문자열'로 받는 특징이 있습니다. 그 때문에 숫자를 입력해도 '문자열'로 인식하기 때문에 위와 같은 오류가 생깁니다. 따라서 숫자를 input으로 받을 때에는 반드시 형변환(Casting, 캐스팅)이 필요합니다.
2022.01.24 - [PL (Programming Language)/Python] - [Python] 파이썬 연산자와 자동 형변환(캐스팅, Casting)
(형 변환에 대해 모르시는 분들은 위 링크를 참조하시기 바랍니다)
int로 형변환 후 정상적으로 계산된 걸 확인할 수 있습니다.
4. 백견이 불여일행
위의 예제를 다시 살펴보겠습니다. split함수를 이용해서 input함수를 한 번만 쓴 건 좋았지만, 이번에는 형변환이 문제입니다. 변수마다 형변환을 하는 건 귀찮은 일입니다.
map(함수, 함수에 적용할 인수)
이 문제는 고차함수(Higher-Order Function) map을 사용하여 해결할 수 있습니다. 고차함수는 '함수'를 파라미터로 받는 함수입니다. map 고차함수를 통해서 여러 개의 인수를 한 번에 함수에 적용할 수 있습니다.
map(int, input().split())
파이썬으로 알고리즘 문제를 풀다보면 많이 사용하는 문법입니다. ( input = sys.stdin.readLine() )
이 외에도 map()은 응용처가 많은 고차함수입니다. map()을 이용해서 다양한 함수를 써보시고, 코드를 덧글로 공유해주세요!
'PL (Programming Language) > Python' 카테고리의 다른 글
[Python] while 반복문과 break, continue 제어자 (0) | 2022.02.13 |
---|---|
[Python] 조건문 if, elif 그리고 else문 (0) | 2022.02.13 |
[Python] 파이썬 연산자와 자동 형변환(캐스팅, Casting) (0) | 2022.01.24 |
[Python] 파이썬 id함수로 알아보는 변수의 특성 (메모리 주소와 변수의 대응관계, 포인터) (0) | 2022.01.23 |
[Python] 변수(Variable)와 자료형(Data type) (0) | 2022.01.23 |
댓글