KEK 개발로그
[Python] 문자열 자료형3 - f 문자열 포매팅, 문자열 관련 함수들 본문
반응형
문자열 자료형3 - f 문자열 포매팅, 문자열 관련 함수들
1. f 문자열 포매팅 (파이썬 3.6버전부터 가능)
- 문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용할 수 있다.
(뒤에 .format()대신 앞에 f를 붙인다고 생각하면 됨)
# f 문자열 포매팅은 변수를 생성한 후에 그 값을 참조할 수 있다.
name = '홍길동'
age = 30
print(f'나의 이름은 {name}입니다. 나이는 {age}입니다.')
# f 문자열 포매팅은 표현식을 지원한다.(format 함수(.format())은 이게 안된다!)
age = 30
print(f'나는 내년이면 {age+1}살이 된다.')
*표현식: 문자열 안에서 변수와 +,-와 같은 수식을 함께 사용하는 것.
# 딕셔너리는 다음과 같이 사용 가능하다.
d = {'name': '홍길동', 'age': 30}
print(f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.')
*딕셔너리: Key와 Value라는 것을 한쌍으로 갖는 자료형.
# 정렬
print(f'{"hi":<10}') # 'hi ' / 왼쪽 정렬
print(f'{"hi":>10}') # ' hi' / 오른쪽 정렬
print(f'{"hi":^10}') # ' hi ' / 가운데 정렬
# 공백 채우기
print(f'{"hi":=^10}') # '====hi====' / 가운데 정렬하고 '=' 문자로 공백 채우기
print(f'{"hi":!<10}') # 'hi!!!!!!!!' / 왼쪽 정렬하고 '!' 문자로 공백 채우기
# 소수점
y = 3.42134234
print(f'{y:0.4f}') # 3.4213 / 소수점 4자리까지만 표현
print(f'{y:10.4f}') # ' 3.4213' / 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춤
# {} 문자 그대로 표현하기
print(f'{{ and }}') # { and }
2. 문자열 관련 함수들
- 문자열 내장 함수: 문자열 자료형이 자체적으로 가지고 있는 함수
- 문자열 내장 함수 사용법: 문자열 변수 이름 뒤에 '.'를 붙인 다음 함수 이름을 써주면 된다.
- 종류: count, find, index, join, upper, lower, strip, replace, split 등
- 문자 개수 세기: count 함수
a = "hobby"
print(a.count('b')) # 2
- 위치 알려주기1: find 함수
>> find 함수는 그 문자가 처음으로 나온 위치를 반환한다.
>> 만약 찾는 문자나 문자열이 존재하지 않으면 -1을 반환한다.(error가 뜨지 않음)
a = "Python is the best choice"
print(a.fine('b')) # 14 / 0부터 시작하기 때문에 15가 아니라 14
print(a.find('k')) # -1 / 존재하지 않음
- 위치 알려주기2: index 함수
>> index 함수는 그 문자가 처음으로 나온 위치를 반환한다. (find 함수와의 공통점)
>> 만약 찾는 문자나 문자열이 존재하지 않으면 오류를 발생시킨다..(find 함수와의 차이점)
a = "Life is too short"
print(a.index('t')) # 8
print(a.index('k')) # error
- 문자열 삽입: join 함수
>> join 함수는 문자열뿐만 아니라 리스트나 튜플에서도 입력으로 사용할 수 있다! (리스트는 대괄호[], 딕셔너리는 중괄호{}, 튜플은 ())
print(",".join('abcd')) # 'a,b,c,d'
p = 'abcd'
print(",".join(p)) # 'a,b,c,d'
print(",".join(['a', 'b', 'c', 'd'])) # 'a,b,c,d' / join함수의 입력으로 리스트 사용하기
- 소문자를 대문자로 바꾸기: upper 함수
a = "hi"
print(a.upper()) # HI
- 대문자를 소문자로 바꾸기: lower 함수
a = "HI"
print(a.lower()) # 'hi'
- 왼쪽 공백 지우기: lstrip 함수
a = " hi "
print(a.lsstrip()) # 'hi '
- 오른쪽 공백 지우기: rstrip 함수
a = " hi "
print(a.rstrip()) # ' hi'
- 양쪽 공백 지우기: strip 함수
a = " hi "
print(a.strip()) # 'hi'
- 문자열 바꾸기: replace 함수
>> 형태: replace(바뀌게 된 문자열, 바꿀 문자열) 이렇게 문자열 안의 특정한 값을 다른 값으로 치환해 준다!
a = "Life is too short"
print(a.replace("Life", "Your leg")) # 'Your leg is too short'
- 문자열 나누기: split 함수
>> .split() 이렇게 괄호 안에 아무 값도 넣지 않으면 공백(스페이스, 탭, 엔터) 등을 기준으로 문자열을 나눔.
>> 만약 괄호 안에 특정 값을 넣어주면 그 값을 기준으로 구분해서 문자열을 나누고, 나눈 값은 리스트에 하나씩 들어간다.
a = "Life is too short"
print(a.split()) # ['Life', 'is', 'too', 'short']
b = "a:b:c:d"
print(b.split(':')) # ['a', 'b', 'c', 'd']
반응형
'Python > 문법' 카테고리의 다른 글
[Python] 리스트 자료형2 - 리스트 수정, 삭제, 함수 (1) | 2022.09.04 |
---|---|
[Python] 리스트 자료형1 - 리스트 인덱싱, 슬라이싱, 연산 (0) | 2022.09.04 |
[Python] 문자열 자료형2 - 문자열 슬라이싱, 포매팅, 포맷 코드, format 함수 (2) | 2022.09.03 |
[Python] 문자열 자료형1 - 문자열, 문자열 연산, 문자열 인덱싱 (0) | 2022.09.02 |
[Python] 자료형 - 숫자형 (0) | 2022.09.02 |