02 파이썬 프로그래밍의 기초, 자료형 - 2 (포매팅, 문자열 함수)

2022. 6. 29. 22:48
  • 문자열 포매팅
"I eat %d apples." % 3	#숫자 대입
>>> I eat 3 apples.

"I eat %s apples. % "five"	#문자열 대입
>>> I eat five apples.

number = 3	#변수 대입
"I eat %d apples." %number
>>> I eat 3 apples.

number = 10		#두개 이상 대입
day = "three"
"I ate %d apples. so I was sick for %s days." %(number, day)
>>> I ate 10 apples. so I was sick for three days.
코드 설명
%s 문자열(String)
%c 문자 1개( Character)
%d 정수(Integer)
%f 부동 소수(Floating-point)
%o 8진수
%x 16진수
%% 문자 % 자체

모두 %s를 사용해도 됨. 왜냐하면 %s는 자동으로 % 뒤에 있는 값을 문자열로 바꾸기 때문이다.

 

포맷 코드의 %와 문자 사이에 숫자를 넣으면 공백을 넣을 수 있음. ex) %10s , 전체 길이가 10이 된다.

숫자 뒤에 소수점을 넣으면 소수점 뒤에 나올 숫자의 개수를 표현 할 수있다. ex) %10.4f ~ %3.42134234 >>>'    3.4213'

 

  • format 함수를 사용한 포매팅
"I eat {0} apples." .format(3)	#숫자 대입
>>> I eat 3 apples.

"I eat {0} apples." .format(five)	#문자열 대입
>>> I eat five apples.

number = 3	#변수 대입
"I eat {0} apples." .format(number)
>>> I eat 3 apples.

number = 10		#두개 이상 대입
day = "three"
"I ate {0} apples. so I was sick for {1} days." .format(number, day)
>>> I ate 10 apples. so I was sick for three days.

"I ate {number} apples. so I was sick for {day} days." .format(number=10, day=3)
>>> I ate 10 apples. so I was sick for three days.		#이름으로 넣기

인덱스와 이름을 혼용해서 넣을 수 도 있다.

  • format 함수 정렬에 활용하기
#왼쪽 정렬
"{0:<10}" .format("hi")
>>>'hi        '

#오른쪽 정렬
"{0:>10}" .format("hi")
>>>'         hi'

#가운데 정렬
"{0:^10}" .format("hi")
>>>'    hi    '

#공백 채우기
"{0:=^10}" .format("hi")
>>>'====hi===='

#소수점 표현하기
y = 3.42134234
"{0:0.4f}" .format(y)
'3.4213'

{를 그대로 표현하고 싶다면 {{를 사용하면 된다.

  • f 문자열 포매팅
name = '홍길동'
age = 30
f '나의 이름은 {name}입니다. 나이는 {age}입니다.'
>>> 나의 이름은 홍길동입니다. 나이는 30입니다.
  • 문자열 관련 함수

1. 문자 개수 세기 (count)

a = 'hobby'
a.count('b')
>>>2

이런 문자열 내장 함수는 문자열 변수 이름 뒤에 .를 붙인 다음에 함수 이름으 써주면 된다.

 

2. 위치 알려주기 (find)

a = "Python is the best choice"
a.find('b')
>>> 14
a.find('k')
>>> -1		#문자열이 존재하지 않음.

3. 문자열 삽입 (join)

",".join('abcd')
>>>'a,b,c,d'

문자열의 각각의 문자 사이에 ,를 삽입한다.

 

4. 소문자를 대문자로 바꾸기 (upper)

a = "hi"
a.upper()
>>> 'HI'

5. 대문자를 소문자로 바꾸기 (lower)

a = "HI"
a.lower()
>>> 'HI'

6. 왼쪽 공백 지우기 (lstrip)

a = "  hi"
a.lstrip()
>>> 'hi'

7. 오른쪽 공백 지우기 (rstrip)

위와 같음

 

8. 양쪽 공백 지우기 (strip)

양쪽 공백 모두 지운다.

 

9. 문자열 바꾸기 (replace)

a = "Life is too short"
a.replace("Life", "Your leg")
>>> 'your leg is too short'

replace(바뀌게 될 문자열, 바꿀 문자열)

 

10. 문자열 나누기

a = "Life is too short"
a.split()		#공백을 기준으로 나누기.
>>> ['Life', 'is', 'too', 'short']

b = "a:b:c:d"
b.split(':')		#기호를 기준으로 나누기.
>>> ['a', 'b', 'c', 'd']

위 10가지 함수들은 문자열 처리에서 사용 빈도가 매우 높고 유용하다.

BELATED ARTICLES

more