교재 : Do it! 점프 투 파이썬
2-2 문자열 자료형
01. 문자열을 만드는 방법 4가지
# 큰 따옴표로 양쪽 둘러싸기
“Hello World”
# 작은따옴표로 양쪽 둘러싸기
‘Python is fun’
# 큰 따옴표를 3개 연속 “”” 써서 양쪽 둘러싸기
“””Life is too short, You need Python”””
# 작은따옴표 3개 연속 ‘’’ 써서 양쪽 둘러싸기
‘’’Life is too short, You need Python’’’
02. 문자열 안에 따옴표 포함시키기
# 작음따옴표 포함시키기
“Python’s favorite food is perl”
# 큰따옴표 포함시키기
‘“Python is very easy.”he says.’
# 백슬래시를 이용해서 작음따옴표, 큰따옴표를 문자열에 포함시키기
‘Python\’s favorite food is perl’
“\”Python is very easy.\”he says.”
03. 여러줄 문자열 표현
# 이스케이프 코드 삽입
“Life is too short\nYou need Python”
# 연속된 작은따옴표, 큰따옴표 이용
‘’’
. . . Life is too short
. . . You need Python
. . .‘’’
“””
. . .Life is too short
. . .You need Python
. . .”””
문자열이 여러 줄 인 경우 이스케이프 코드 보다 따옴표를 연속해서 쓰는 것이 깔끔 하다.
활용 빈도 높은 이스케이프 코드
\n : 문자열 안에서 줄을 바꿀 때 사용
\t : 문자열 사이에 탭 간격을 줄 때 사용
\\ : 문자 \를 그대로 표현할 때 사용
\’ : 작은 따옴표를 그대로 표현할 때 사용
\” : 큰따옴표를 그대로 표현할 때 사용
04. 문자열 연산하기
# 문자열 더하기 Concatenation
head = “Python”
tail = “is fun!”
head + tail
‘Python is fun!’
# 문자열 곱하기
a = ‘Python’
a * 2
‘PythonPython’
05. 문자열 인덱싱
a = ‘Life is too short, You need Python’
a[3]
‘e’
a[-1]
‘n’
“파이썬은 0부터 숫자를 센다”
06. 문자열 슬라이싱
a = “Life is too short, You need Python”
a[0:4]
‘Life’
a[시작번호:끝번호]를 지정하면 끝번호에 해당하는 것은 포함되지 않는다.
시작번호 < a < 끝번호
슬라이싱 응용하기
# 끝번호 부분 생략하면 그 문자열의 끝까지 뽑아 낸다
a[19:]
‘You need Python’
# 시작번호 생략시 문자열의 처음부터 끝번호 까지 뽑아낸다.
a[:17]
‘Life is too short’
# 시작번호, 끝번호 모두 생략시 문자열의 처음부터 끝까지를 뽑아낸다
a[:]
‘Life is too short, You need python’
# 마이너스 기호를 사용가능
a[19:-7]
‘You need’
07. 문자열 포매팅 Formatting : 문자열 내에 어떤 값을 삽입하는 방법
# 숫자 바로 대입 : 문자열 안에서 숫자를 넣고 싶은자리에 %d
“I eat %d apples” %3
‘I eat 3 apples’
# 문자열 바로 대입 : 숫자를 넣기위해 %d , 문자열 넣기위해서 %s
“I eat %s apples” %”Five”
‘I eat Five apples’
# 숫자 값을 나타내는 변수로 대입
number = 3
“I eat %d apples” % number
‘I eat 3 apples’
# 2개 이상의 값 넣기
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’
문자열 포맷 코드
String %s : 어떤 형태의 값이든 변환해 넣을 수 있다.
Character %c
Integer %d
Floating-point %f
Literal % %%
08. 포맷코드와 숫자 함께 사용하기
# 정력과 공백
“%10s” %”hi”
‘ hi’ <- hi가 오른쪽 정렬
전체길이가 10개인 문자열 공간에서 hi를 오른쪽 정렬하고 그 앞의 나머지는 공백으로 둠
“%-10sJane” %”hi”
‘hi Jane’ <-hi가 왼쪽 정렬
# 소수점 표현하기
“%0.4f” %3.42134234
‘3.4213’ <-소수점 네 번째 자리까지만 나타냄
“%10.4f” %3.42134234 <-숫자는 소수점 네 번째 자리까지만 표시, 전체 길이가 10개인 문자열 공간에서 오른쪽 정렬
09. 문자열 관련 함수들
# 문자 개수 세기 count
a = “hobby”
a.count(‘b’)
2
# 위치 알려주기1 find
a = “Python is best choice”
a.find(‘b’)
10 <-문자열에서 b가 처음 나온 위치
a.find(‘k’)
-1 <- 찾는 문자나 문자열이 존재하지 않을 때
# 위치 알려주기2 index
a = “Life is too short”
a.index(‘t’)
8
a.index(‘k’) <-존재하지 않아서 error 발생함
# 문자열 삽입 join
a = “,”
a.join(‘abcd’)
‘a,b,c,d’
# 소문자를 대문자로 Upper
a = ‘hi’
a.upper()
‘HI’
# 대문자를 소문자로 lower
a = ‘HI’
a.lower()
‘hi’
# 왼쪽 공백 지우기 lstrip
a = ‘. hi’
a.lstrip()
‘hi’
# 오른쪽 공백 지우기 rstrip
# 양쪽공백 지우기 strip
# 문자열 바꾸기 replace
a = “Life is too short”
a.replace(“Life”,”Your leg”)
‘Your Leg is too short’
# 문자열 나누기 split
a = “Life is too short”
a.split() <-공백을 기준으로 문자열 나눔
[“Life”,”is”,”too”,”short”]
a = “a:b:c:d”
a.split(:) <- 기호를 기준으로 문자열 나눔
[‘a’,’b’,’c’,’d’]
10. 고급 문자열 포매팅 .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’
# 2개 이상의 값 넣기
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 3 days.’
# 인덱스와 이름을 혼용
“I ate {0} apples. so I was sick for {day} days.”.format(10,day=3)
‘I ate 10 apples. so I was sick for 3 days.’
# 왼쪽 , 오른쪽, 가운데 정렬
“{0:<10}”.format(“hi”)
“{0:>10}”.format(“hi”)
“{0:^10}”.format(“hi”)
# 공백채우기
“{0:=^10}”.format(“hi”)
====hi====
# 소수점 표현하기
y=3.42134234
“{0:0.4f}”.format(y)
‘3.4213’
# {,} 문자 표현
“{{ and}}”.format()
{ and }
'P-Language > Python' 카테고리의 다른 글
[5일차] 집합 자료형 (0) | 2022.05.27 |
---|---|
[4일차] 딕셔너리 자료형 (0) | 2022.05.26 |
[3일차] 튜플 자료형 (0) | 2022.05.25 |
[2일차] 리스트 자료형 (0) | 2022.05.24 |
[1일차] 숫자형 (0) | 2022.05.23 |