수영장의 수영_데이터 분석 블로그

[파이썬] 02. 문자열 포매팅, 함수 본문

Goorm 자연어처리 전문가 양성 과정 2기/Python

[파이썬] 02. 문자열 포매팅, 함수

슈빔멘 2022. 1. 7. 23:40

문자열 포매팅

- 사용자가 문자열의 포맷을 지정하는 것

 

 

기본 포맷 코드

- % 뒤에 붙는 문자에 따라 문자열, 정수, 실수 등등을 포맷할 수 있다

- ex)

city = "seoul"
today = 12
day = "화요일"
temperature = 26
announcement = "%s의 %d일 %s 기온은 %d도 입니다." %(city, today, day, temperature)
	
print("%s의 %d일 %s 기온은 %d도 입니다." %(city, today, day, temperature)) #1번 방법
print(announcement) #2번 방법

 

- %.3f -> 소수점 3째자리까지 표현한다

- %()d -> 오른쪽 정렬 후 왼쪽을 공백으로 채운다

- %-()d -> 왼쪽 정렬 후 오른쪽을 공백으로 채운다

 

 

format() 함수를 활용한 포매팅

- "{인덱스값}"을 사용해 format()안의 값을 '순서에 관계없이' 사용할 수 있다.

name1 = "김구름"
name2 = "박에듀"
age = 25
height = 181.123
print("저의 이름은 {2}입니다. 그리고 나이는 {1}살이고 키는 {0}cm입니다.".format(height, age, name1))
print("{1}의 나이:{0}, {2}의 나이: {0}".format(age, name1, name2))

- "{변수명}" 형식으로도 사용가능하다

print("저의 이름은 {1}입니다. 그리고 나이는 {age}살이고 키는 {0}cm입니다. 제 가장 친한 친구는 {name}입니다.".format(181.12, "김구름",height = 181.123, age = 25, name = "박에듀"))

 

 

- 출력 형식

 

print("{length: >10d}".format(length = 30))
# 공백문자: (공백) ,정렬: 오른쪽 정렬, 폭: 10

print("{0:0^10}".format("goorm"))
# 공백문자: 0 ,정렬: 가운데 정렬, 폭: 10

print("{height:!>13.2f}".format(height = 181.24363))
# 공백문자: ! ,정렬: 오른쪽 정렬, 폭: 13, 소수점 2자리 표시

 

f-string 포매팅

이름 = 'sanny'
몇 = 45

print(f"안녕 나는 {이름}이야. 나이는 {몇}살이야")

이런 식으로 f를 붙인 뒤 {}로 변수를 묶어주기만 하면 된다

제일 간단해서 거의 항상 이것만 쓰는듯

 

 

 

문자열 함수

sample = 'hi, how are you?'

 

- sample.count() : 문자열의 문자 개수를 반환

- sample.find('i') : 문자열에서 i를 찾는다 -> 처음 발견된 index를 반환, 없으면 -1 반환

- sample.index('i') : 문자열에서 i를 찾는다 -> find와 같으나, 찾는 문자열이 없으면 error 발생

- "~".join(sample) : sample의 각 문자 사이마다 ~를 집어 넣는다

- sample.upper() / lower() : 문자 대문자화 / 소문자화

- sample.lstrip() / rstrip() : 문자열의 왼쪽 / 오른쪽 공백을 모두 삭제

- sample.strip() : 양쪽 공백 삭제

- sample.replace('how', 'who') : sample에서 how를 who로 바꾼다

- sample.split() : sample을 공백 기준으로 나누어 리스트의 원소로 각각 넣는다