문자열 생성
# 문자열 데이터
a = "Hello World"
b = 'Hello Jutole'
c = """
abc
"""
d = '''
abc
'''
python의 문자열을 생성하는 방법은 4가지가 존재합니다. 적절한 상황에 맞춰 선택해서 생성하시면 됩니다.
큰따옴표로 감싸기 (")
" Hello World "
" I'm Jutole "
문자열 중간에 작은따옴표를 사용할 때 사용할 수 있습니다.
작은따옴표로 감싸기 (')
' Hello World '
' My name is "Jutole" '
문자열 중간에 큰따옴표를 사용할 때 사용할 수 있습니다.
큰따옴표 3개로 감싸기 (""")
작은따옴표 3개로 감싸기 (''')
c = """
Hello
World
"""
d = '''
Hello
Jutole
'''
여러 줄의 문자열을 사용할 때 사용할 수 있습니다.
Escape
# Ecape
a = 'I\'m Jutole'
# 출력 I'm Jutole
b = "My name is\"Jutole\""
# 출력 My name is"Jutole"
c = "Hello\nWorld"
""" 출력
Hello
World
"""
다른 언어들처럼 Escape 코드를 사용해서 문자열 처리를 할 수 있습니다.
- \' : (작은따옴표 ' ) 문자열에 넣기
- \" : (큰따옴표 " ) 문자열에 넣기
- \n : 문자열 안에서 줄 바꿈
- \\ : (역슬래시 \ ) 문자열에 넣기
문자열 더하기
# 문자열 연산
a = "Hello"
b = "World"
c = a + b
print(c)
# 출력 HelloWorld
문자열 곱하기
# 문자열 연산
a = "a"
b = "b"
c = a * 3
print(c)
# 출력 aaa
d = b * 2
print(d)
# 출력 bb
문자열 길이 구하기
python에서 문자열의 길이는 기본 제공 함수인 len() 함수를 이용해서 구할 수 있습니다.
# 문자열 연산
a = "Hello World"
print(len(a))
#출력 11
#공백도 포함합니다.
문자열의 인덱싱
문자열은 문자의 연속된 배열을 뜻합니다. 문자 하나하나를 인덱스 번호로 해당 인덱스 번호의 위치한 문자를 사용할 수 있습니다.
# 문자열 연산
"Hello World"
[0] = 'H'
[1] = 'e'
[2] = 'l'
[3] = 'l'
[4] = 'o'
[5] = ' '
[6] = 'W'
[7] = 'o'
[8] = 'r'
[9] = 'l'
[10] = 'd'
이런 식으로 문자열은 0부터 시작하는 배열에 하나씩 들어가게 됩니다.
a = "Hello World"
print(a[4])
#출력 o
print(a[10])
#출력 d
이렇게 인덱스 번호에 맞는 문자를 가져와서 사용이 가능합니다.
a = "Hello World"
print(a[-1])
#출력 d
또한 음수도 사용이 가능합니다. 음수를 사용하게 되면 뒤에서부터 인덱스를 계산해서 가져오게 됩니다.
a = "Hello World"
[-11] = 'H'
[-10] = 'e'
[-9] = 'l'
[-8] = 'l'
[-7] = 'o'
[-6] = ' '
[-5] = 'W'
[-4] = 'o'
[-3] = 'r'
[-2] = 'l'
[-1] = 'd'
음수는 0이 아닌 -1로 시작합니다. 0과 -0은 같은 값이기 때문입니다.
문자열의 슬라이스
슬라이스는 문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라(slice) 반환하는 기능입니다.
[ ] 대괄호 사이에 ( : 콜론)으로 구분하여 초기위치, 최종위치, 증가값 총 3가지 값을 넣어서 슬라이스 할 수 있습니다.
a = "Hello World"
print(a[:]) 또는 print(a[::])
#출력 Hello World
#모든 요소를 출력합니다.
값을 넣지 않고 사용하면 모든 요소를 출력합니다.
a = "Hello World"
print(a[3:])
#출력 lo World
#초기위치가 3번째 인덱스
초기위치를 3번째 인덱스로 잡아서 "lo world"가 출력됩니다.
a = "Hello World"
print(a[6:10])
#출력 Worl
#초기위치 6번째 인덱스 ~ (10번째 인덱스 - 1)
초기위치를 6번째 인덱스로 잡고 최종위치를 10번째 인덱스로 잡았지만 주의할 점은 최종위치에서 -1을 한 9번째까지 가져와서 출력하게 됩니다. "world"를 가져와서 출력하려면 [6:11] 이렇게 해야겠지요?
a = "Hello World"
print(a[:3])
#출력 Hel
#(최종위치 - 1) 2번째 인덱스까지
초기위치를 지정하지 않고 최종위치만 지정하면 0번째 인덱스부터 (최종위치 - 1) 인덱스까지 가져오게 됩니다.
a = "Hello World"
print(a[6:11:2])
#출력 Wrd
#초기위치 6번째 인덱스
#최종위치 10번째 인덱스
#증가값 2
마지막 3번째 값은 증가값으로 해당 수만큼 인덱스를 증가시켜서 값을 가져옵니다. 초기위치 6번째 인덱스, 최종위치 10번째 인덱스로 "World"를 가져와서 첫 인덱스인 'W'를 기준으로 2씩 증가시켜서 "r", "d"를 가져오게 됩니다.
a = "Hello World"
print(a[::2])
#출력 HloWrd
증가값만 존재할 경우에는 0번째 인덱스부터 마지막 위치까지 증가값만큼 증가하면서 요소들을 가져오게 됩니다.
a = "Hello World"
print(a[-2:])
#출력 ld
마찬가지로 슬라이스에서도 음수를 적용할 수 있습니다. 초기위치를 -2로 잡았기 때문에 "ld"가 출력됩니다.
a = "Hello World"
print(a[0:-7])
#출력 Hell
초기위치가 0이고 최종위치가 -7 이면 (최종위치 -1) 계산식에 의해 0부터 -8까지인 "Hell"이 출력됩니다.
[다음 글]
https://jutole.tistory.com/126
'Python > study' 카테고리의 다른 글
[Python] 6 - python 문자열 내장함수 (1) | 2024.02.04 |
---|---|
[Python] 5 - python 문자열 formatting (1) | 2024.02.04 |
[Python] 3 - python 숫자 데이터 타입 (0) | 2024.02.01 |
[Python] 2 - python editor 알아보기 (1) | 2024.01.31 |
[Python] 1 - python 맛보기 (1) | 2024.01.31 |