일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로젝트
- pandas
- data analyst
- SQLD
- 프롬프트 엔지니어링
- 크롤링
- 클러스터링
- 서브쿼리
- 태블로
- streamlit
- 머신러닝
- Python
- If
- GA4
- Chat GPT
- 군집화
- 데이터 분석
- 기초프로젝트
- 최종 프로젝트
- 히트맵
- SQL
- 전처리
- 팀프로젝트
- 데이터분석
- da
- cross join
- jd
- 시각화
- 기초통계
- lambda
- Today
- Total
세조목
PYTHON 정리(점프투파이썬 - 정렬과 공백, 소수점 표현)(23.12.29) 본문
- 본 내용들은 PYTHON을 공부하면서 차후 제가 복습하기위해 정리해놓은 것으로 제가 새롭게 알게된 내용들만을 정리하였습니다. 또한 배움이 부족하여 미처 다 파악하지 못한 부분들도 많으니 혹시나 이 포스팅을 보시는 분들께서는 다른 포스팅, 도서, 강의도 함께 참고하시기 바라겠습니다.
점프 투 파이썬
1. 정렬과 공백
"%15s" % "hi"
' hi'
%와 숫자를 결합하면 문자열을 정렬하고 공백을 지정할 수 있다.
먼저 %15s의 경우 전체 길이가 15개인 문자열 공간에 대입되는 값을 오른쪽으로 정렬하고 나머지 부분은 공백으로 놔두라는 의미이다.
그렇다면 %-15s의 경우는 어떨까??
"%-15s" % "hi"
- 가 붙으면 왼쪽정렬하라는 의미이다.
그래서 문자열의 전체 길이는 15가 되며 값은 왼쪽정렬하게되고 나머지 공간은 공백으로 채워진다.
"%15s Tomy" %"hi"
위와 같은 경우는 결과가 어떻게 나올까??
' hiTomy'
일단 15s니 문자열의 전체 길이가 15일 것이고, 양수이므로 오른쪽 정렬이 될 것이다.
15개의 공간 안에 "hi"가 오른쪽 정렬돼서 들어가니 오른쪽 14, 15번째 자리에 "hi"가 들어가고,
그 다음에 "Tomy"가 입력된다.
"%-15sTomy" %"hi"
"%-15sTomy"%"hi"의 경우 마찬가지로 총 15개의 문자열 길이가 형성되고 "hi"는 왼쪽 정렬되며
"Tomy"는 16번째 자리부터 입력된다.
음수이기때문에 "hi"가 왼쪽정렬되고, Tomy는 오른쪽 끝에 위치하게되어 아래와같은 결과값이 나오게 된다.
'hi Tomy'
2. 소수점 표현
%와 숫자를 조합해서 소수점도 표현할 수 있다.
"%0.3f" %4.17533
"%0.3f" %4.17533의 경우 소수점 셋째자리까지 나타내겠다는 코드이므로
결과값은 4.175가 된다.
코드를 하나 하나 뜯어보면
- %뒤에 나오는 0은 문자열의 전체 길이를 의미하는데 0의 경우 길이에 상관하지 않겠다는 의미이고 0을 생략해도 무방하다.
- ' . ' 은 소수점 포인트를 의미하고
- 그 뒤의 숫자는 몇 번째 자리까지 나타낼 것인지를 나타낸다.
"%13.1f"" %2.73261
"%13.1f" %2.73261의 결과값은 어떻게 될까??
- ' . ' 앞에 숫자가 13이기때문에 문자열의 전체 길이는 13이 되고 오른쪽 정렬시킨다.
- ' . ' 뒤에 숫자 1이 오기 때문에 소수점 첫째 자리까지 출력된다.
그렇게 했을때의 결과값은 아래와 같다.
' 2.7'
% 뒤에 음수가 들어가면 어떻게 된다고??
"%-13.1f" %2.73261
- 는 왼쪽 정렬을 의미하기때문에 2.7이라는 값이 왼쪽에 정렬되고 나머지 공간은 공백으로 처리되기때문에 결과값이 아래와 같이 출력된다.
'2.7 '
3. 문자열 포매팅(f-string)
지금까지는 문자열을 합칠때 +를 사용하는 경우가 많았다.
아래와 같이 말이다.
"python" + "what" + "food" + "Jason"
=> "python what food Jason"
그런데 + 연산자를 사용하지 않고서도 문자열을 간단하게 합칠수 있는 방법이 있는데 그것이 바로 f-string이다.
>>> for i in range(1, 5):
>>> print(f'나의 나이는 {i}살입니다.')
나의 나이는 1살입니다.
나의 나이는 2살입니다.
나의 나이는 3살입니다.
나의 나이는 4살입니다.
이렇게 활용할 수 있는데 f-string을 활용하지 않는다면 아래와 같이 문자열을 합쳐야한다.
>>> for i in range(1, 5):
>>> print("나의 나이는" + " " + str({i}) + "살입니다.")
나의 나이는 1살입니다.
나의 나이는 2살입니다.
나의 나이는 3살입니다.
나의 나이는 4살입니다.
f-sting을 활용하는 것이 훨씬 간결하다.
딕셔너리의 경우 아래와 같이 사용할 수 있다.
person = {"name" : "cheolsu", "age" : 33}
f'그의 이름은 {person["name"]}이고 나이는 {person["age"]}입니다.'
>>> '그의 이름은 cheolsu이고 나이는 33입니다.'
정렬, 공백채우기, 소수점 표현, 중괄호 넣기는 어떻게 할 수 있을까??
● 정렬
# 왼쪽 정렬
f'{"hi":<8}'
>>>'hi '
# 오른쪽 정렬
f'{"maigc":>12}'
>>> ' magic'
# 가운데 정렬
f'{"sauce":^11}'
>>> ' sauce '
● 공백 채우기
f'{"cam":=<10}'
>>> 'cam======='
f'{"fake":3^14}'
>>> '33333fake33333'
● 소수점 표현
spot = 5.1235632
f'{spot:0.3f}'
>>> '5.124'
f'{spot:5.3f}'
>>> ' spot'
f'{spot:>10.5f}'
>>> ' 5.12356'
● 중괄호 넣기
f'{{This is}}'
>>> '{This is}'
'데이터 분석 공부 > Python' 카테고리의 다른 글
PYTHON 정리(점프투파이썬 - 리스트 자료형)(23.12.31) (1) | 2023.12.31 |
---|---|
PYTHON 정리(점프투파이썬 - 문자열)(23.12.30) (2) | 2023.12.30 |
PYTHON 정리(점프투파이썬 - 문자열)(23.12.28) (1) | 2023.12.28 |
PYTHON 정리(iterable, 조작적 정의, 인과관계&상관관계, round함수 유의사항)(23.12.26) (0) | 2023.12.27 |
PYTHON 정리(sorted, join, describe, 축 눈금 수정)(23.12.22) (0) | 2023.12.22 |