Notice
Recent Posts
Recent Comments
Link
반응형
Archives
Today
Total
관리 메뉴

KEK 개발로그

[Python] 문자열 자료형3 - f 문자열 포매팅, 문자열 관련 함수들 본문

Python/문법

[Python] 문자열 자료형3 - f 문자열 포매팅, 문자열 관련 함수들

sunnykim915 2022. 9. 3. 11:22
반응형

문자열 자료형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']
반응형