Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Selection Sorting
- R
- 알기쉬운 알고리즘
- Stack
- datastructure
- list 컬렉션
- Graph
- 이스케이프 문자
- C programming
- 윤성우 열혈자료구조
- buffer
- Serialization
- 윤성우의 열혈 자료구조
- s
- C 언어 코딩 도장
- 메모리구조
- insertion sort
- 혼자 공부하는 C언어
- JSON
- 이것이 자바다
- stream
- Algorithm
- coding test
Archives
- Today
- Total
Engineering Note
[Python] 파이썬 입력 본문
input() vs stdin.readline()
- input() 함수는 내장함수
- stdin.readline()는 sys를 import 해야 사용할 수 있는 system 함수 이다.
- 동작 방식의 차이로 input()함수가 속도가 더 느리다.
- input함수는 마지막에 '엔터' 즉, 개행 문자를 저장하지 않는다.
- sys.stdin.readline() 함수는 마지막 '엔터','개행문자'까지 저장하기 때문에 rstrip()을 같이 써주는 경우가 많다.
실습
- readline과 input 함수로 입력 받고 결과 확인,
- 추가로 rstrip() 함수도 응용 (마지막에 개행문자를 제거해주는 함수)
- data1과 data2, data3에 각각 123 이라고 키보드로 입력을 해주고 저장된 결과를 확인
import sys
data1 = sys.stdin.readline()
data2 = sys.stdin.readline().rstrip()
data3 = input()
print(data1)
print(type(data1))
print(len(data1))
print("--------------------------")
print(data2)
print(type(data2))
print(len(data2))
print("--------------------------")
print(data3)
print(type(data3))
print(len(data3))
- data1에는 readlind() 함수를 통해 입력 받은 결과는 123으로 화면에 보이지만 문자열의 길이를 계산해보면 4가 나오는 것을 알수 있다. 이유는 마지막에 '\n' 개행문자가 포함되어 있기 때문이다. 길이를 보지 않아도 타입을 출력하는 것을 보면 한줄이 띄어져서 출력되는 것을 알 수 있다. 기본적으로 print()함수는 줄을 바꾸는데 개행문자 때문에 한 줄이 더 추가로 띄어져 있다.
- data2는 rstip()함수로 오른쪽에 whilespace문자(개행,스페이스 등 문자)를 제거해주도록 했다. 여기서는 마지막에 엔터, 즉 개행문자가 제거 되어 123만 저장되어 문자의 길이가 3이 나왔다.
- data3는 input() 함수는 기본적으로 개행문자가 입력 될때까지 문자를 입력 받기 때문에 마지막 개행문자는 저장되지 않는다.
- 이러한 특징을 활용해 백준 등의 알고리즘 사이트에서 문자를 입력 받을 때 sys.stdin.readline().split()으로 whitespace를 기준으로 문자를 나누어서 리스트에 저장해 주어 문제를 풀면 수월하다.
map객체는 이터레이터이므로
- 사실 map이 반환하는 맵 객체는 이터레이터라서 변수 여러 개에 저장하는 언패킹(unpacking)이 가능합니다.
- unpacking은 여러개의 객체를 포함하고 있는 하나의 객체를 풀어줍니다.
'Programming Language > Python' 카테고리의 다른 글
[Python] 리스트의 복사 (0) | 2021.09.25 |
---|---|
[Python] startswith 함수 (0) | 2021.08.31 |
[Python] 터미널 run 단축키 python (0) | 2021.06.26 |
[Python] startwith, startend (0) | 2021.06.23 |
[Python] 리스트와 문자열에서 자주 쓰이는 함수 (0) | 2021.06.17 |
Comments