input()
은 한줄의 문자열을 입력받는다.
💡 input()은 문자열을 반환한다. 따라서 반환값을 원하는 값으로 명시적 형변환 해줘야 하는데, 파이썬에서는 단순히 int()함수로 형변환이 되는 듯…!
n = int(input()) #문자열 반환값을 int로 형변
data = input().split() #자바의 split()과 유사한듯
print(n)
print(data)
map()
은 리스트의 모든 원소에 각각 특정한 함수를 적용한다.
💡 map()의 첫번째 인자는 형변환 타입이다. 자바의 stream의 map()과 거의 유사한 기능을 가짐.
공백을 기준으로 구분된 데이터 입력받기
a = list(map(int, input().split())) #input()반환 int로 형변환
# list 생성해 반환하는 함수인듯...
print(a)
공백을 기준으로 구분된 몇 안되는 데이터 입력받기
a,b,c = map(int, input().split())
print(a,b,c)
map()함수를 통해 입력받은 데이터를 형변환 하기 위해 형변환의 경계를 정해주는 것을 **패킹(packing)**이라고 한다. 그리고 형변환 끝난 값들을 a,b,c각각의 변수에 나눠 할당하는 동작을 **언패킹(unpacking)**이라고 한다.
빠르게 입력받으려면, sys라이브러리에 정의되어있는 sys.stdin.readline()
메서드를 이용한다.
\\n
기호까지 입력받으므로, rstrip()
메서드를 함께 사용해야 한다. 이 친구는 오른쪽에 붙은 \\n
을 지워준다.#문자열 입력받기
import sys
str = sys.stdin.readline().rstrip()
print(str)
💡 파이썬의 임포트도 그냥 import키워드를 사용한다. 그런데 패키지명없이 그냥 sys임포트하니까 되었다… 패키지명이 필요없는건가?
파이썬에서 기본 출력은 print()
함수를 이용한다.
,
를 추가하면 띄어쓰기로 구분해 출력한다.print()
는 기본적으로 출력 이후에 줄 바꿈을 수행한다.end
속성을 이용할 수 있다.a = 1
b = 1
print(a)
print(b)
print(a, end=" ")
print(b, end=" ") #end사용
answer = 1
print("정답은"+str(answer)+"입니다.") #+연산자 사
💡 파이썬에서는
str()
함수를 이용해 문자열로 형변환 할 수 있다.
파이썬 3.6부터 f-string을 지원한다.
{}
안에 형변환 없이 변수명만 기입하면 중괄호 안의 모든 내용이 문자열로 출력된다.answer = 1
print(f"정답은 {answer} 입니다.") #f-string사