티스토리 뷰
파이썬으로 코딩테스트를 풀다 최종적으로 정리해두면 좋겠다 싶어 적는다.
<입력 중심>
파이썬의 입력은 간단하다. 굳이 변수 앞에 타입을 쓰지 않아도 된다.
그래서 그냥 아래와 같이 적어도 출력이 된다.
a = input() #4
print(a) #4
그러나 간과해선 안되는 점.
input()의 디폴트 값의 타입은 string이다.
참고로 파이썬 오브젝트의 타입을 알고싶으면 type(오브젝트)를 쓰자.
a = input() #4
print(a) #4
print(type(a)) #<class 'str'>
원하는 타입으로 변수를 저장하고 싶으면 아래와 같이 하면 된다.
총 3개. 물론 여기서 진수변환을 하고싶으면 더 다양한 것 들이 있으나 보통 쓰이는것은 세개.
# 각각의 입력 값은 순서대로 1, 2, 3 임.
a = float(input()) #실수형
b = int(input()) #정수형
c = str(input()) #문자열
print(type(a), type(b), type(c)) #<class 'float'> <class 'int'> <class 'str'>
눈으로 보기에 1, 2, 3 정수형인 값도 위의 방법처럼 형변환을 진행하게 되면 바뀐다.
그러면, 띄어쓰기를 기준으로 한 줄에 여러 변수값을 입력받고 싶다면?
split()함수를 쓴다.
split()은 문자열을 분리하는 함수. 괄호 안에는 어떤 문자를 기준으로 분리할지 정한다.
띄어쓰기를 기준으로 두 개의 숫자를 받아오자.
a, b = int(input().split(' '))
x, y = int(input()).split(' ')
print(a, b, x, y) #error
우리가 알았던 방법 대로 해봤다. 그러나 에러가 뜸.
이유는 split함수가 string 전용인것과 int()는 list이면 안되는 이유다.
아래와 같이 수정하면 받아올 수 있다.
a, b = input().split(' ') #띄어쓰기 기준으로 a, b 분리 저장
print(int(a), int(b)) #1 3
a, b = input().split(' ')
a = int(a)
b = int(b) #여기서 형변환
print(a, b) #1 3
<출력 중심>
이제 출력에 좀 더 집중을 해보자.
1. % 이용하기
c언어 느낌 가득한 출력 방법이다.
a, b = input().split(' ')
print("result: %d %d" % (int(a), int(b)))
# result: 1 3
어떤 타입을 출력할 것 인지에 따라 %d, %s, %f 등이 있다. 이 외에도 존재하지만 가장 많이 쓰임.
하지만 이는 가독성이 떨어지는 방법이다.
2. str.format()
이 방법은 출력시 문자열이다.
때문에, 숫자를 출력하고 싶으면 print 전에 형 변환을 해 주는 것이 좋다.
a, b = input().split(' ')
print('{} is {} years old'.format(int(a), b)) #1 is 2 years old
print(type(a)) #<class 'str'>
a, b = input().split(' ')
a = int(a)
b = int(b)
print('{} is {} years old'.format(a, b)) #1 is 2 years old
print(type(a)) #<class 'int'>
그런데 생각해보니 출력할때는 형이 딱히 상관이 없네?
그 전에 계산 할거 하고 출력시키면 되니까...
여튼 위의 방법이 C언어 식 방식보다 확실히 가독성이 좋다.
3. f-Strings
가장 최신식의 출력방법이다.
출력 맨 앞에 f를 넣기 때문에 이름이 저렇게 지어진듯함.
a, b = input().split(' ')
a = int(a) #1
b = int(b) #2
print(f'{a} + {b} = {a + b} years old')
# 1 + 2 = 3 years old
놀랍도록 간편하다.
여기서 형 변환을 먼저 진행하지 않고 a + b를 출력하면 1 + 2 = 12가 나오게 된다.
왜냐면 문자열 1과 문자열 2이기 때문에 그냥 붙여주는거임.
오류가 나면 어떤 변수가 어떤 형인지 인지하는 것 과, 어떤 상황에서 원하는 형을 이용할 수 있는지가 가장 중요한 것 같다.
자바스크립트만 쓰다가 파이썬 쓰자니 헷갈려서 힘들었는데 역시 사람은 적응의 동물이다.
익숙해지고 있는 중.
참고:
dojang.io/mod/page/view.php?id=2286
velog.io/@ceres/Python-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%8F%AC%EB%A7%B7%ED%8C%85-String-Formatting
'Basic_Studies > Python' 카테고리의 다른 글
[Python] VSCode로 Django 시작하기(venv 포함) (0) | 2020.11.01 |
---|---|
[Python] if __name__ == "__main__" : 이해하기 (0) | 2020.10.12 |
[Python] 리스트 관련 자주 쓰는 함수 (0) | 2020.09.27 |
[Python]Flask 400 bad request: keyerror: 해결 (1) | 2020.08.23 |
[Python] 벅스 음원차트 스크래핑, 크롤링 하기(BeautifulSoup) (0) | 2020.07.31 |
- Total
- Today
- Yesterday
- 리액트 파라미터 넘기기
- nuxt 공식문서 한글
- 글래스모피즘 구현
- nextjs 스크롤
- dvd 효과
- 리액트 라우터
- NextJS
- 파이썬 flask
- 움직이는 글래스모피즘
- 파이썬 크롤링
- 10989 파이썬
- css 글래스모피즘
- 파이썬 정렬
- 화이팅
- 자바스크립트
- bs4 크롤링
- nuxt 공식문서
- 백준 10989 파이썬
- nextjs 파라미터 넘기기
- css marquee
- next.js 리다이렉트
- 리액트 스크롤
- 카페음료테스트
- vscode venv
- Til
- react router
- 리액트 컴포넌트
- 글래스모피즘 애니메이션 구현
- 리액트
- getserversideprops redirect
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |