일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 서브쿼리
- 크롤링
- 기초프로젝트
- 클러스터링
- SQLD
- streamlit
- lambda
- 데이터분석
- 프롬프트 엔지니어링
- 기초통계
- data analyst
- 시각화
- 머신러닝
- 태블로
- 데이터 분석
- 군집화
- Chat GPT
- 히트맵
- 프로젝트
- cross join
- jd
- SQL
- da
- 팀프로젝트
- 최종 프로젝트
- Python
- pandas
- If
- 전처리
- GA4
- Today
- Total
세조목
PYTHON 정리(점프투파이썬 - 문자열)(23.12.30) 본문
- 본 내용들은 PYTHON을 공부하면서 차후 제가 복습하기위해 정리해놓은 것으로 제가 새롭게 알게된 내용들만을 정리하였습니다. 또한 배움이 부족하여 미처 다 파악하지 못한 부분들도 많으니 혹시나 이 포스팅을 보시는 분들께서는 다른 포스팅, 도서, 강의도 함께 참고하시기 바라겠습니다.
※ 점프 투 파이썬 'format 함수를 사용한 포매팅' ~ 2-2 끝까지
※ 점프투파이썬을 보며 학습하되 예시 코드를 새롭게 작성해보면서 포스팅했습니다.
format 함수를 사용한 포매팅
포매팅 = 문자열 안에 어떤 값을 삽입하는 방법
포매팅 時 format 함수를 활용할 수 있다.
- 숫자 대입
- 문자열 대입
- 숫자 값을 가진 변수 대입
- 2개 이상의 값 넣기
- 이름으로 넣기
- 인덱스와 이름을 혼용해서 넣기
- 정렬(왼쪽, 오른쪽, 가운데)
- 공백 채우기
- 소수점 표현하기
- 중괄호 표현하기
1. 숫자 대입
"I eat {0} strawberries".format(3)
>>> "I eat 3 strawberries"
2. 문자열 대입
"Henry's favorite music genre is {0}.". format("Rock & Roll")
>>'Henry's favorite music genre is Rock & Roll.'
3. 숫자 값을 가진 변수 대입
number = 3
"My mom have {0} sister". format(number)
>>> 'My mom have 3 sister'
4. 2개 이상의 값 넣기
number = 365
day = "Thursday"
"A year have {0} days and I like {1} most.". format(number, day)
>>> 'A year have 365 days and I like Thursday most.'
5. 이름으로 넣기
"A year have {number} days and I like {day} most.". format(number=365, day="Thursday")
>>> 'A year have 365 days and I like Thursday most.'
6. 인덱스와 이름을 혼용해서 넣기
"A year have {0} days and I like {day} most.". format(365, day="Thursday")
>>> 'A year have 365 days and I like Thursday most.'
7. 정렬(왼쪽, 오른쪽, 가운데)
정렬 기본 문법은 아래와 같다.
"{0: n}".format("문자열" or 숫자)
여기서 왼쪽 정렬이냐, 오른쪽 정렬이냐, 가운데 정렬이냐에따라서 '0:' 뒤에 붙는 기호가 달라진다.
● 왼쪽 정렬
"{0:<n}".format("문자열" or 숫자)
n에는 전체 문자열의 길이가 들어감
"{0:<5}".format("hi")
>>> 'hi '
● 오른쪽 정렬
"{0:>n}".format("문자열" or 숫자)
n에는 전체 문자열의 길이가 들어감
"{0:>8}".format("why")
>>> ' why'
● 가운데 정렬
"{0:^n}".format("문자열" or 숫자)
n에는 전체 문자열의 길이가 들어감
※ 0은 생략 가능
"{0:^13}".format(235)
>>> ' 235 '
8. 공백 채우기
공백을 내가 원하는 문자 값으로 채워 넣을 수 있다.
정렬에서 사용했던 문법을 그대로 가져오면 되는데
' : ' 뒤에 넣고자 하는 값을 추가해주면 된다.
예시는 아래와 같다.
"{0:ㅑ<10}".format("hi")
>>> 'hiㅑㅑㅑㅑㅑㅑㅑㅑ'
"{0:e>8}".format(12)
>>> 'eeeeee12'
"{0:3^15}".format(876)
>>> '333333876333333'
9. 소수점 표현하기
format 함수를 활용해서 소수점도 지정할 수 있다.
"{0:0.4f}".format(7.312356)
>>> 7.3124
이때 콜론 뒤에 오는 숫자의 정수 부분은 문자열의 길이를 지정해주는 부분이다.
"{0:10.4f}".format(7.312356)
>>> ' 7.3124'
참고로 소수점 자리수를 지정해주면 소수점 이하의 숫자는 반올림이 적용된다.
10. 중괄호 표현하기
format 함수를 활용해서 포매팅할 때 문자열을 중괄호에 넣고싶다면 중괄호를 2개 연속 적어주면된다.
"{{Find Me}}".format()
>>> '{Find Me}'
11. 콜론 앞 숫자 0 생략
콜론 앞 숫자 0은 생략이 가능하다.
다만 문자열을 여러개 출력해야할 때는 순서를 지정해줘야하기때문에 생략하면 안 된다.
print("{:<10}".format("A"))
>>> 'A '
print("{0:<10}{1:>5}".format("A", "B"))
>>> 'A B'
문자열 포매팅(아래 포스팅 마지막 순서에 有)
2023.12.29 - [데이터 분석 공부/Python] - PYTHON 정리(23.12.29)(정렬과 공백, 소수점 표현)
문자열 관련 함수
문자열 자료형은 자체적으로 함수를 가지고 있는데 이를 내장함수라고한다.
- count('세아리고자하는 문자')
- find('몇 번째에 위치해있는지 알고자하는 문자')
- index('몇 번째에 위치해있는지 알고자하는 문자')
- " ".join('문자열')
- upper()
- lower()
- lstrip()
- rstrip()
- strip()
- replace()
- split()
1. count('세아리고자하는 문자')
a = "tomato"
a.count("t")
>>> 2
b = "banana"
b.count("a")
>>> 3
2. find('몇 번째에 위치해있는지 알고자하는 문자')
찾고자하는 문자가 처음으로 나온 위치를 반환한다.
a = "christmas tree"
a.find("t")
>>> 5
b = "kimkwangsuk street"
b.find("w")
>>> 4
c = "I love you"
c.find("k")
>>> -1
※ counting은 0부터 시작한다는 점을 항상 잊어서는 안 된다.
※ 찾고자하는 값이 문자열에 없을 경우 -1을 반환한다.
3. index('몇 번째에 위치해있는지 알고자하는 문자')
find함수와 동일하나 한 가지 차이점이 있는데
index함수는 찾고자하는 값이 문자열에 없으면 아래와 같이 오류 메시지가 출력된다는 것이다.
a = "Everytime I think about you"
a.index('w')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
4. " ".join('문자열')
괄호 안에 들어있는 문자열의 문자 사이 사이에 따옴표 안에 있는 문자를 넣어주는 함수이다.
join함수는 리스트나 튜플도 입력으로 사용할 수 있는데 만약 ""(or '')으로 둔다면
리스트나 튜플에 있는 모든 값들을 하나로 합칠 수 있다.
"-".join("qwerty")
>>> 'q-w-e-r-t-y'
5. upper()
소문자를 모두 대문자로 바꿔주는 내장함수다.
a = "qwer"
a.upper()
>>> 'QWER'
6. lower()
대문자를 모두 소문자로 바꿔주는 내장함수다.
a = "BADwqer"
a.lower()
>>> 'badwqer'
7. lstrip()
왼쪽 공백을 지우는 내장함수다.
a = " apple "
a.lstrip()
>>> 'apple '
8. rstrip()
오른쪽 공백을 지우는 내장함수다.
a = " apple "
a.rstrip()
>>> ' apple'
9. strip()
양쪽 공백을 모두 지우는 내장함수다.
a = " apple "
a.strip()
>>> 'apple'
10. replace()
문자열을 바꿔주는 내장함수다.
구성은 변수명.replace("기존 문자", "바꾸고싶은 문자") 이다.
a = "Don't turn on the mega central office tower"
a.replace("mega", "ultra")
>>> 'Don't turn on the ultra central office tower'
11. split()
문자열을 나눠주는 내장함수다.
괄호 안에 아무 값도 넣어주지 않으면 공백을 기준으로 나누어주고, 값이 있을 경우 값을 구분자로 해서 나누어 준다.
a = "Let's find the most delicious food"
a.split()
>>> ['Let's', 'find', 'the', 'most', 'delicious', 'food']
b = "1983-03-12"
b.split("-")
>>> ['1983', '03', '12']
문자열은 자체의 값을 변경할 수 없는 immutable 자료형이다.
이게 무슨 말이냐하면
내장함수를 사용해서 기존 문자열을 수정했다하더라도 문자열이 지정된 변수를 입력하면 다시 원래 문자열이 출력된다.
아래와 같이 말이다.
a = "weer"
a.upper()
>>> 'WEER'
print(a)
>>> 'weer'
그래서 바뀐 문자열을 계속해서 사용하고싶을때는 원래 변수명에 바뀐 문자열을 다시 지정해주어야한다.
아래와 같이 말이다.
a = "weer"
a = a.upper()
print(a)
>>> 'WEER'
'데이터 분석 공부 > Python' 카테고리의 다른 글
PYTHON 정리(점프투파이썬 - 튜플 자료형)(23.12.31) (1) | 2023.12.31 |
---|---|
PYTHON 정리(점프투파이썬 - 리스트 자료형)(23.12.31) (1) | 2023.12.31 |
PYTHON 정리(점프투파이썬 - 정렬과 공백, 소수점 표현)(23.12.29) (2) | 2023.12.29 |
PYTHON 정리(점프투파이썬 - 문자열)(23.12.28) (1) | 2023.12.28 |
PYTHON 정리(iterable, 조작적 정의, 인과관계&상관관계, round함수 유의사항)(23.12.26) (0) | 2023.12.27 |