문자열의 이해
:문자열을 이해하기 위해서는 문자열의 특징을 이해해야함
:문자열은 시퀀스 자료형으로 리스트처럼 데이터를 순차적으로 저장
문자열과 메모리 공간
:영문자 한 글자당 1바이트의 메모리 공간을 사용
:컴퓨터는 문자를 직접 인식하지 못함
:컴퓨터는 문자를 숫자로 변환하려 인식함
:사람들은 문자를 숫자로 변환하기 위한 규칙을 만듦
:일반적으로 이 규칙은 1개의 영문자를 1바이트,
2의 8승 정도의 공간에 저장함
-문자열 인덱싱
:리스트와 같이 문자하나 하나가 상대적인 주소를 갖음
a = "abcde"
print(a [0], a [4])
a e
print(a [-1], a [-5])
e a
-문자열 슬라이싱(=리스트 슬라이싱)
: 문자열의 주소값을 이용해 문자열의 부분값을 추출해내는 기법
a = "TEAMLAB MOOC, AWESOME Python"
print(a [0:6], " AND ", a[-9:])
TEAMLA AND ME Python
print(a[:])
TEAMLAB MOOC, AWESOME Python
print(a [-50:50]) #인덱스 범위를 벗어나도 출력
TEAMLAB MOOC, AWESOME Python
print(a[::2], " AND ", a[::-l]) #처음~끝 2글자씩, 글자의 역순 출력
TALBMO,AEOEPto AND nohtyP EMOSEWA ,C00M BALMAET
-문자열 연산(=리스트 연산)
a = "TEAM"
b = "LAB"
print(a + "" + b)
TEAM LAB
print(a * 2 + "" + b * 2)
TEAMTEAM LABLAB
if 'A' in a:
print(a)
else: print(b)
TEAM
-문자열 함수
문자열 함수 사용법
변수.문자열 함수명 으로 호출
title = "TEAMLAB X Inflearn"
title.upper() # 모두 대문자
'TEAMLAB X INFLEARN'
title.lower() #모두 소문자
'teamlab x inflearn'
title = "TEAMLAB X Inflearn"
title.count("a") # ’a’가 몇 개 있는지
1
title.upper().count("a") # 대문자로 만든 후, 'a'가 몇 개 있는지 개수 반환
0
title.isdigit() # title 변수의 문자열이 숫자인지
False
title.startswith("a") # title 변수가 ‘a’로 시작하는지
False
-파이썬 특수문자
:문자열에서 표현하기 어려운 여러 문자를 표현하도록 도움 (역슬래쉬 - 원)
-서식 지정의 개념
:print( ) 함수는 기본적으로 변수와 값을 콤마(,)로 띄어쓰기 하여 출력
:통화 단위. 세 자리 숫자 단위로 띄어쓰기, % 출력 등 다양한 형식에 맞추어 출력할 때, 이를 서식 지정이라고 함.
-%서식과 format 함수
%서식
print(l, 2, 3)
printC"a" + "" + "b" + "" + "c")
print("%d %d %d" % (1, 2, 3))
print(”{}{}{}’’.format("a", "b", "c"))
123
abc
123
abc
print('I eat %d apples." % 3)
print(”I eat %s apples." % "five")
I eat 3 apples.
I eat five apples.
format() 함수
: % 서식과 사용법이 거의 같지만 문자열 형태의 인수를 사용한다는 차이점
format()은 함수이므로 “{자료형}”.format(인수) 으로 서식지정
age =40; name = 'Sungchul Choi'
print("I'm {0} years old.".format(age))
print("My name is {0} and {1} years old.".format(name, age))
print("Product: {0}, Price per unit: {l:.2f}.".format("Apple", 5.243))
I'm 40 ye ars old.
My name is Sungchul Choi and 40 ye ars old.
Product Apple , Pric e per unit 5.24.
-패딩
:여유 공간을 지정하여 글자 배열을 맞추고 소수점 자릿수를 맞추는 기능, % 서식과 format() 함수 모두 패딩 기능을 제공
%서식의 패딩
print("%10d" % 12) # 10자리 공간 확보, 우측 정렬로 12출력
12
print("%-10d"%12) # 좌측 정렬은 -부호
12
print("%10.3f" % 5.94343) # 10자리를 확보하고 소수점 셋째 자리까지 출력
5.943
print("%10.2f" % 5.94343) # 10자리를 확보하고 소수점 둘째 자리까지 출력
5.94
print("%-10.2f" % 5.94343)
5.9
format()함수의 패딩
" {l >10.5f } . " .format("Apple " , 5.243) # 10자리 확보(소수점 포함), 소수점 다섯 번째 자리
' 5.24300.'
" {l:<10.5f } . " .format("Apple " , 5.243) # 좌측정렬(<부호)
'5.2430 .'
문자열의 분리 및 결합
: 특정 값을 기준으로 문자열을 분리하여 리스트 형태로 변환
-문자열의 분리: split() 함수
items = 'zero one two three'.split() # 빈칸을 기준으로 문자열을 분리
print(items)
['zero', 'one', 'two', 'three']
example = 'python,jqueryJavascript' # 를 기준으로 문자열 나누기
example.split(",")
['python' 'jquery1', 'javascript']
a, b, c = example.split(”,") # 리스트에 있는 각 값을 a, b, c 변수로 언패킹
print(a, b, c)
python jquery javascript
example = '[theteamlab.univ.edu](<http://theteamlab.univ.edu/>)'
subdomain, domain, tld = example.split('.') "."을 기준으로 문자열 나누기 - 언패킹
print(subdomain, domain, tld)
theteamlab univ edu
-문자열의 결합: join() 함수
:문자열로 구성된 리스트를 합쳐 하나의 문자열로 만들 때 사용
colors = ['red', 'blue', 'green', 'yellow']
result = ".join(colors)
print(result)
'redbluegreenyellow'
result = ' '.join(colors) # 연결 시 1칸 띄고 연결
print(result)
'red blue green yellow'
result = ','.join(colors) # 연결 시 ','로 연결
print(result)
'red, blue, green, yellow'
result = '-'.join(colors) # 연결 시 '-'로 연결
print(result)
'red-blue-green-yellow'
'스터디 > 파이썬 스터디 강의자료' 카테고리의 다른 글
[1팀/허서원] 6차시 파이썬 스터디 - 문자열 (1) | 2023.05.04 |
---|---|
[3팀/김경은] 6차시 파이썬 스터디 - 문자열 (0) | 2023.05.02 |
[3팀/김규리] 6차시 파이썬 스터디 - 문자열 (0) | 2023.04.30 |
[4팀/김민혜] 6차시 파이썬 스터디 - 문자열 (0) | 2023.04.28 |
[4팀/이제은] 6차시 파이썬 스터디 - 문자열 (0) | 2023.04.28 |