자료형_문자열
📌 문자열 자료형
👉 문자열 = 따옴표로 둘러쌓여 있는 것
"python"
"123"
👉 문자열 만드는 4가지 방법
"python"
'python'
"""python"""
'''python'''
👉 문자열 안에 따옴표 포함시키기!
▪ cv
변수에 It's my velog
저장하기
>>> cv = "It's my velog"
▪ say
변수에 "It's my velog", he says.
저장하기
>>> say = '"It is my velog", he says.'
▪ 백슬래시(\)
사용하기
>>> cv = 'It\'s my velog'
>>> say = "\"It is my velog\", he says."
👉 여러 줄인 문자열을 변수에 대입하기
▪ multiline
변수에...저장하기
I love music.
My best thing is dusk till dawn.
▪ 이스케이프 코드\n
삽입하기
>>> multiple = "I love music.\nMy best thing is dusk till dawn."
▪ 따옴표 세 개 연속쓰기
>>> multiline = """
I love music.
My best thing is dusk till dawn.
"""
👉 문자열 연산하기
▪ 더하기
>>> head = "Hi, "
>>> tail = "nice to meet you."
>>> head + tail
'Hi, nice to meet you.'
▪ 곱하기
>>> a = 'python'
>>> a * 2
'pythonpython'
▪ 문자열 길이 구하기
>>> a = "Hi, nice to meet you."
>>> len(a)
21
👉 인덱싱과 슬라이싱
인덱싱(Indexing)은 무언가를 가르키는 것
슬라이싱(Slicing)은 무언가를 잘라내는 것
▪ 인덱싱
0부터 수를 샌다
>>> a = "Hi, nice to meet you."
>>> a[5]
'i'
>>> a[0]
'H'
뒤 부터 읽기 위한 마이너스(-)
>>> a = "Hi, nice to meet you."
>>> a[-1]
'.'
>>> a[-6]
't'
▪ 인덱싱
끝 번호에 해당하는 것은 포함❌
>>> a = "Hi, nice to meet you."
>>> a[0:2]
'Hi'
다양한 예
>>> a = "Hi, nice to meet you."
>>> a[0:2]
'Hi'
>>> a[:2]
'Hi'
>>> a[4:8]
'nice'
>>> a[8:]
' to meet you.'
>>> a[:]
'Hi, nice to meet you.'
>>> a[4:-13]
'nice'
▪ 문자열 나누기
>>> a = "20210529Rainy"
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20210529'
>>> weather
'Rainy'
👉 문자열 포매팅
▪ 숫자 바로 대입
>>> "I have %d pens." %3
'I have 3 pens.'
▪ 문자열 바로 대입
>>> "I have %s pens." %"three"
'I have three pens.'
▪ 숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I have %d pens." %number
'I have 3 pens.'
▪ 2개 이상의 값 넣기
>>> number = 5
>>> day = "two"
>>> "I have %d pens that i bought %s days ago" %(number, day)
▪ 만능 %s
>>> "I have %s pens." %5
'I have 5 pens.'
>>>"rate is %s" %90.3
'rate is 90.3'
▪ '%'포함하기
>>> "Its possibility is %d%%." %90
'Its possibility is 90%.'
▪ 포맷 코드와 숫자 함께 사용하기
정렬과 공백
>>> "%10s" %"Hi"
Hi
>>> "%-10sTom" %"Hi"
Hi Tom
소수점 표현하기
>>> "%0.4f"% 3.141592
'3.1416'
>>> "%10.4f"%3.141592
' 3.1416'
▪ format 함수를 사용한 포매팅
숫자 바로 대입
>>> "I have {0} pens".format(3)
'I have 3 pens
문자열 바로 대입
>>> "I have {0} pens".format("three")
'I have three pens'
숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I have {0} pens".format(number)
2개 이상의 값 넣기
>>> number = 5
>>> day = "two"
>>> "I have {0} pens that i bought {1} days ago".format(number, day)
'I have 5 pens that i bought two days ago
이름으로 넣기
>>> "I have {number} pens that i bought {day} days ago".format(number = 5, day = "two")
'I have 5 pens that i bought two days ago'
인덱스와 이름을 혼용해서 넣기
>>> "I have {0} pens that i bought {day} days ago".format(3, day="two")
'I have 3 pens that i bought two days ago'
정렬
>>> "{0:<10}".format("Hi")
'Hi '
>>> "{0:>10}".format("Hi")
' Hi'
>>>"{0:^10}".format("Hi")
' Hi '
공백 채우기
>>> "{0:=^10}".format("Hi")
'====Hi===='
>>> "{0:#<10}".format("Hi")
'Hi########'
소수점
>>> a = 3.141592
>>> "{0:0.4f}".format(a)
'3.1416'
>>> "{0:10.4f}".format(a)
' 3.1416'
{
또는 }
문자 표현하기
>>> "{{ Hi }}".format()
'{ Hi }'
▪ f 문자열 포매팅
예
>>> number = 3
>>> day = "two"
>>> f'I have {number} pens that i bought {day} days ago'
표현식 사용 가능
'I have 3 pens that i bought two days ago'
>>> f'I have {number + 1} pens that i bought {day} days ago'
'I have 4 pens that i bought two days ago'
딕셔너리 사용 가능
>>> d = {'number':3, 'day':'two'}
>>> f'I have {d["number"]} pens that i bought {d["day"]} days ago'
'I have 3 pens that i bought two days ago'
정렬
>>> f'{"Hi":<10}'
'Hi '
>>> f'{"Hi":>10}'
' Hi'
>>> f'{"Hi":^10}'
' Hi '
공백 채우기
>>> f'{"Hi":=^10}'
'====Hi===='
>>> f'{"Hi":#<10}'
'Hi########'
소수점
>>> a = 3.141592
>>> f'{a:0.4f}'
'3.1416'
>>> f'{a:10.4f}'
' 3.1416'
{
또는 }
문자 표현하기
>>> f'{{ Hi }}'
'{ Hi }'
👉 문자열 관련 함수들(8개)
문자열 자료형은 자체적 함수를 가지고 있다. 문자열 변수 뒤에 '.'을 붙인 다음 함수 이름을 써주면 된다.
▪ 문자 개수 세기(count)
>>> a = "bubble"
>>> a.count('b')
3
▪ 위치 알려주기1(find)
>>> a = "I have 3 pens that i bought two days ago"
>>> a.find('s')
12
>>> a.find('c')
-1
▪ 위치 알려주기2(index)
>>> a = "I have 3 pens that i bought two days ago"
>>> a.index('s')
12
>>> a.index('c')
Traceback (most recent call last):
File "main.py", line 1, in <module>
print(a.index('c'))
ValueError: substring not found
▪ 문자열 삽입(join)
이 함수는 문자열 뿐만 아니라 리스트나 튜플도 입력할 수 있다.
>>> ",".join('ABCDE')
A,B,C,D,E
▪ 대소문자 바꾸기(upper, lower)
>>> a = "hi"
>>> a.upper()
'HI'
>>> b = "HI"
>>> b.lower()
'hi'
▪ 공백지우기(lstrip, rstrip, strip)
>>> a = " Hi "
>>> a.lstrip()
'Hi '
>>> a.rstrip()
' Hi'
>>> a.strip()
'Hi'
▪ 문자열 바꾸기(replace)
>>> a = "My favorite food is pizza"
>>> a.replace('pizza','chicken')
'My favorite food is chicken'
▪ 문자열 나누기(split)
괄호 안에 아무것도 넣어 주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나눈다.
>>> a = "My favorite food is pizza"
>>> a.split()
['My' ,'favorite' ,'food' ,'is' ,'pizza']
>>> b = "a;b;c;d"
>>> b.split(";")
['a', 'b', 'c', 'd']
❗ 문자열은 바꿀 수 없는 값
>>> a = pithon
>>> a[1] = 'y'
Traceback (most recent call last):
File "main.py", line 2, in <module>
a[1] = "y"
TypeError: 'str' object does not support item assignment
❗ 문자열 포맷 코드
"python"
"123"
"python"
'python'
"""python"""
'''python'''
cv
변수에 It's my velog
저장하기>>> cv = "It's my velog"
say
변수에 "It's my velog", he says.
저장하기>>> say = '"It is my velog", he says.'
백슬래시(\)
사용하기>>> cv = 'It\'s my velog'
>>> say = "\"It is my velog\", he says."
multiline
변수에...저장하기I love music.
My best thing is dusk till dawn.
\n
삽입하기>>> multiple = "I love music.\nMy best thing is dusk till dawn."
>>> multiline = """
I love music.
My best thing is dusk till dawn.
"""
>>> head = "Hi, "
>>> tail = "nice to meet you."
>>> head + tail
'Hi, nice to meet you.'
>>> a = 'python'
>>> a * 2
'pythonpython'
>>> a = "Hi, nice to meet you."
>>> len(a)
21
인덱싱(Indexing)은 무언가를 가르키는 것
슬라이싱(Slicing)은 무언가를 잘라내는 것
0부터 수를 샌다
>>> a = "Hi, nice to meet you."
>>> a[5]
'i'
>>> a[0]
'H'
뒤 부터 읽기 위한 마이너스(-)
>>> a = "Hi, nice to meet you."
>>> a[-1]
'.'
>>> a[-6]
't'
끝 번호에 해당하는 것은 포함❌
>>> a = "Hi, nice to meet you."
>>> a[0:2]
'Hi'
다양한 예
>>> a = "Hi, nice to meet you."
>>> a[0:2]
'Hi'
>>> a[:2]
'Hi'
>>> a[4:8]
'nice'
>>> a[8:]
' to meet you.'
>>> a[:]
'Hi, nice to meet you.'
>>> a[4:-13]
'nice'
>>> a = "20210529Rainy"
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20210529'
>>> weather
'Rainy'
>>> "I have %d pens." %3
'I have 3 pens.'
>>> "I have %s pens." %"three"
'I have three pens.'
>>> number = 3
>>> "I have %d pens." %number
'I have 3 pens.'
>>> number = 5
>>> day = "two"
>>> "I have %d pens that i bought %s days ago" %(number, day)
>>> "I have %s pens." %5
'I have 5 pens.'
>>>"rate is %s" %90.3
'rate is 90.3'
>>> "Its possibility is %d%%." %90
'Its possibility is 90%.'
정렬과 공백
>>> "%10s" %"Hi"
Hi
>>> "%-10sTom" %"Hi"
Hi Tom
소수점 표현하기
>>> "%0.4f"% 3.141592
'3.1416'
>>> "%10.4f"%3.141592
' 3.1416'
숫자 바로 대입
>>> "I have {0} pens".format(3)
'I have 3 pens
문자열 바로 대입
>>> "I have {0} pens".format("three")
'I have three pens'
숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I have {0} pens".format(number)
2개 이상의 값 넣기
>>> number = 5
>>> day = "two"
>>> "I have {0} pens that i bought {1} days ago".format(number, day)
'I have 5 pens that i bought two days ago
이름으로 넣기
>>> "I have {number} pens that i bought {day} days ago".format(number = 5, day = "two")
'I have 5 pens that i bought two days ago'
인덱스와 이름을 혼용해서 넣기
>>> "I have {0} pens that i bought {day} days ago".format(3, day="two")
'I have 3 pens that i bought two days ago'
정렬
>>> "{0:<10}".format("Hi")
'Hi '
>>> "{0:>10}".format("Hi")
' Hi'
>>>"{0:^10}".format("Hi")
' Hi '
공백 채우기
>>> "{0:=^10}".format("Hi")
'====Hi===='
>>> "{0:#<10}".format("Hi")
'Hi########'
소수점
>>> a = 3.141592
>>> "{0:0.4f}".format(a)
'3.1416'
>>> "{0:10.4f}".format(a)
' 3.1416'
{
또는 }
문자 표현하기
>>> "{{ Hi }}".format()
'{ Hi }'
예
>>> number = 3
>>> day = "two"
>>> f'I have {number} pens that i bought {day} days ago'
표현식 사용 가능
'I have 3 pens that i bought two days ago'
>>> f'I have {number + 1} pens that i bought {day} days ago'
'I have 4 pens that i bought two days ago'
딕셔너리 사용 가능
>>> d = {'number':3, 'day':'two'}
>>> f'I have {d["number"]} pens that i bought {d["day"]} days ago'
'I have 3 pens that i bought two days ago'
정렬
>>> f'{"Hi":<10}'
'Hi '
>>> f'{"Hi":>10}'
' Hi'
>>> f'{"Hi":^10}'
' Hi '
공백 채우기
>>> f'{"Hi":=^10}'
'====Hi===='
>>> f'{"Hi":#<10}'
'Hi########'
소수점
>>> a = 3.141592
>>> f'{a:0.4f}'
'3.1416'
>>> f'{a:10.4f}'
' 3.1416'
{
또는 }
문자 표현하기
>>> f'{{ Hi }}'
'{ Hi }'
문자열 자료형은 자체적 함수를 가지고 있다. 문자열 변수 뒤에 '.'을 붙인 다음 함수 이름을 써주면 된다.
>>> a = "bubble"
>>> a.count('b')
3
>>> a = "I have 3 pens that i bought two days ago"
>>> a.find('s')
12
>>> a.find('c')
-1
>>> a = "I have 3 pens that i bought two days ago"
>>> a.index('s')
12
>>> a.index('c')
Traceback (most recent call last):
File "main.py", line 1, in <module>
print(a.index('c'))
ValueError: substring not found
이 함수는 문자열 뿐만 아니라 리스트나 튜플도 입력할 수 있다.
>>> ",".join('ABCDE')
A,B,C,D,E
>>> a = "hi"
>>> a.upper()
'HI'
>>> b = "HI"
>>> b.lower()
'hi'
>>> a = " Hi "
>>> a.lstrip()
'Hi '
>>> a.rstrip()
' Hi'
>>> a.strip()
'Hi'
>>> a = "My favorite food is pizza"
>>> a.replace('pizza','chicken')
'My favorite food is chicken'
괄호 안에 아무것도 넣어 주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나눈다.
>>> a = "My favorite food is pizza"
>>> a.split()
['My' ,'favorite' ,'food' ,'is' ,'pizza']
>>> b = "a;b;c;d"
>>> b.split(";")
['a', 'b', 'c', 'd']
>>> a = pithon
>>> a[1] = 'y'
Traceback (most recent call last):
File "main.py", line 2, in <module>
a[1] = "y"
TypeError: 'str' object does not support item assignment
코드 | 설명 |
---|---|
%s | 문자열(String) |
%c | 문자 1개(character) |
%d | 정수(Integer) |
%f | 부동소수(floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal %(문자 % 자체) |
❗ find 와 index의 차이
find와 index 둘 다 문자열 중 가장 먼저 나온 위치를 반환한다. 하지만 찾는 문자나 문자열이 존재하지 않는다면 find는 -1을, index는 오류를 발생시킨다.
Author And Source
이 문제에 관하여(자료형_문자열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kj_min/자료형문자열저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)