- Python - 프로그래밍 시작하기
- Python 기초 (Basics)
- Python 변수 (Variables)
- Python 연산자 (Operators)
- Python 리스트 (List)
- Python 튜플 (Tuple)
- Python 문자열 (Strings)
- Python 집합 (Sets)
- Python 딕셔너리 (Dictionary)
- Python 흐름 제어 (Flow control)
- Python 함수 (Function)
- Python 클래스 (Class)
- Python 내장 함수 (Built-in function)
- Python 키워드 (Keyword)
- Keyword - and
- Keyword - as
- Keyword - assert
- Keyword - break
- Keyword - class
- Keyword - continue
- Keyword - def
- Keyword - del
- Keyword - elif
- Keyword - else
- Keyword - except
- Keyword - False
- Keyword - for
- Keyword - from
- Keyword - global
- Keyword - if
- Keyword - import
- Keyword - in
- Keyword - is
- Keyword - lambda
- Keyword - None
- Keyword - not
- Keyword - or
- Keyword - pass
- Keyword - return
- Keyword - True
- Keyword - try
- Keyword - while
- Python 파일 다루기
- Python datetime 모듈
- Python time 모듈
- Python collections.deque
- Python collections.namedtuple
- Python의 선 (Zen of Python)
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
Python 문자열 (Strings)¶
문자열 (String)은 하나 이상 연속된 문자 (character)들의 나열입니다.
파이썬에서 문자열 자료형은 큰따옴표 (” “) 또는 작은따옴표 (‘ ‘) 사이에 위치합니다.
파이썬에서 문자열 자료형을 다루는 다양한 방법에 대해 소개합니다.
순서는 아래와 같습니다.
문자열을 변수에 할당하기¶
예제1¶
string1 = "apple"
string2 = 'banana'
print(string1)
print(string2)
apple
banana
문자열 “apple”과 ‘banana’를 각각 string1, string2에 할당하고 출력했습니다.
예제2¶
string3 = "'orange'"
string4 = '"mango"'
print(string3)
print(string4)
'orange'
"mango"
큰따옴표와 작은따옴표를 사용하는 것에 차이는 없지만 위의 예제와 같이 두 종류의 따옴표를 사용해서 따옴표를 그대로 출력할 수도 있습니다.
예제3¶
string5 = """Courage is very important.
Like a muscle,
it is strengthened by use."""
string6 = '''By doubting
we come at the truth.'''
print(string5, '\n')
print(string6)
Courage is very important.
Like a muscle,
it is strengthened by use.
By doubting
we come at the truth.
따옴표 세 개를 사용하면 여러줄의 문자열을 사용할 수 있습니다.
문자열 인덱싱¶
앞에서 다루었던 리스트, 튜플과 마찬가지로 문자열에서도 인덱스를 사용할 수 있습니다.
string7 = 'Good Morning!'
print(string7[0])
print(string7[3])
print(string7[4])
print(string7[-1])
G
d
!
다섯번째 문자인 string7[4]는 공백 (‘ ‘)입니다.
마지막 문자 (‘!’)는 string7[-1]와 같이 음의 인덱스를 사용해서 편리하게 접근할 수 있습니다.
문자열 슬라이싱¶
또한 리스트, 튜플과 마찬가지로 문자열에 대해서도 슬라이싱 기능을 사용할 수 있습니다.
string8 = 'Good Evening!'
print(string8[2:7])
print(string8[:4])
print(string8[5:])
od Ev
Good
Evening!
string8[2:7]은 세번째부터 일곱번째 문자를 슬라이스합니다.
string8[:4]은 처음부터 네번째 문자를 슬라이스합니다.
string8[5:]은 여섯번째부터 마지막 문자까지 슬라이스합니다.
문자열 연결하기¶
파이썬에서는 더하기 연산자를 이용해서 문자열을 연결할 수 있습니다.
string9 = 'Good'
string10 = 'Evening!'
print(string9 + string10)
print(string9 + ' ' + string10)
print(string9, string10)
GoodEvening!
Good Evening!
Good Evening!
string9 + string10은 ‘Good’와 ‘Evening!’를 연결한 문자열입니다.
두 문자열의 가운데에 공백을 삽입해서 ‘Good Evening!’을 출력했습니다.
문자열 루프 (Loop)¶
문자열를 이터레이트 (iterate)하기 위해 아래와 같이 for 루프를 사용할 수 있습니다.
string11 = 'Python String'
for c in string11:
print(c)
P
y
t
h
o
n
S
t
r
i
n
g
문자열 포함 여부 확인하기¶
파이썬 키워드 in
과 not
을 사용하면, 문자열이 특정 문자 또는 문자열을 포함하는지 여부를 간단하게 확인할 수 있습니다.
(참고: Python 키워드 (Keyword))
string12 = 'codetorial.net'
print('code' in string12)
print('real' in string12)
print('.' not in string12)
True
False
False
문자열 ‘codetorial.net’은 문자열 ‘code’와 문자 ‘.’를 포함하고,
문자열 ‘real’을 포함하지 않습니다.
문자열 메서드¶
파이썬에서는 문자열과 함께 사용할 수 있는 다양한 메서드를 제공합니다.
주요한 문자열 메서드를 간단한 예제와 함께 소개합니다.
casefold()¶
문자열을 소문자로 변환합니다.
a = 'Python'
b = 'PYTHON'
print(a.casefold())
print(b.casefold())
python
python
center()¶
문자열을 가운데 정렬합니다.
문자를 입력하면 공백을 문자로 채웁니다.
a = 'Python'
print(a.center(16, '-'))
-----Python-----
endswith()¶
문자열이 입력한 문자(열)로 끝난다면 True를 반환하고, 그렇지 않다면 False를 반환합니다.
a = 'codetorial.net'
print(a.endswith('net'))
True
find()¶
문자열의 앞에서부터 입력한 문자(열)를 검색해서 인덱스를 반환합니다.
문자 또는 문자열이 없다면 -1를 반환합니다.
a = 'banana'
print(a.find('a'))
print(a.find('d'))
1
-1
format()¶
문자열 안에서 표현할 값의 형식을 설정합니다.
perc = 0.68
amount = 123456
print('{:.1%}'.format(perc2))
print('${:,}'.format(amount1))
68.0%
$123,456
더 자세한 내용은 문자열 format() 메서드 페이지를 참고하세요.
index()¶
find() 메서드와 마찬가지로 입력한 문자(열)의 인덱스를 반환합니다.
find() 메서드와 달리 문자 또는 문자열을 찾지 못했을 때 에러를 발생합니다.
a = 'banana'
print(a.index('a'))
print(a.index('d'))
1
Traceback (most recent call last):
File "/Users/python/test.py", line 3, in <module>
print(a.index('d'))
ValueError: substring not found
isalnum()¶
문자열이 알파벳 (A-Z, a-z) 또는 숫자 (0-9)로 이루어져 있다면 True, 그렇지 않다면 False를 반환합니다.
a = 'ABC123'
b = 'abc123!'
print(a.isalnum())
print(b.isalnum())
True
False
isalpha()¶
문자열이 알파벳 (A-Z, a-z)으로 이루어져 있다면 True, 그렇지 않다면 False를 반환합니다.
a = 'ABC'
b = '123!'
print(a.isalpha())
print(b.isalpha())
True
False
isdecimal()¶
문자열이 십진수 (decimal)로 이루어져 있다면 True, 그렇지 않다면 False를 반환합니다.
a = '10'
b = '0b1010'
c = str(int(b, 2))
print(a, a.isdecimal())
print(b, b.isdecimal())
print(c, c.isdecimal())
10 True
0b1010 False
10 True
islower()¶
문자열이 모두 소문자로 이루어져 있다면 True, 그렇지 않다면 False를 반환합니다.
a = 'python'
b = 'Python'
print(a.islower())
print(b.islower())
True
False
isspace()¶
문자열이 모두 공백으로 이루어져 있다면 True, 그렇지 않다면 False를 반환합니다.
a = 'a b c'
b = 'a c'
c = ' '
print(a.isspace())
print(b.isspace())
print(c.isspace())
False
False
True
isupper()¶
모든 문자열이 대문자라면 True, 그렇지 않다면 False를 반환합니다.
a = 'python'
b = 'Python'
c = 'PYTHON'
print(a.isupper())
print(b.isupper())
print(c.isupper())
False
False
True
join()¶
반복 가능한 객체 (리스트, 튜플 등)를 문자열을 사용해서 연결합니다.
fruits = ['apple', 'banana', 'orange']
print(', '.join(fruits))
apple, banana, orange
rfind()¶
문자열의 뒤에서부터 입력한 문자(열)를 검색해서 인덱스를 반환합니다.
문자 또는 문자열이 없다면 -1를 반환합니다.
a = 'banana'
print(a.rfind('a'))
print(a.rfind('d'))
5
-1
rsplit()¶
(문자열의 뒤에서부터) 입력한 문자(열)를 기준으로 문자열을 쪼개서 리스트의 형태로 반환합니다.
maxsplit를 입력하면 문자열을 쪼개는 최대 횟수를 지정합니다.
a = 'apple, banana, orange'
print(a.rsplit(', '))
print(a.rsplit(', ', 1))
['apple', 'banana', 'orange']
['apple, banana', 'orange']
split()¶
(문자열의 앞에서부터) 입력한 문자(열)를 기준으로 문자열을 쪼개서 리스트의 형태로 반환합니다.
maxsplit를 입력하면 문자열을 쪼개는 최대 횟수를 지정합니다.
a = 'apple, banana, orange'
print(a.split(', '))
print(a.split(', ', 1))
['apple', 'banana', 'orange']
['apple', 'banana, orange']
startswith()¶
문자열이 입력한 문자(열)로 시작한다면 True를 반환하고, 그렇지 않다면 False를 반환합니다.
a = 'codetorial.net'
print(a.startswith('code'))
True
strip()¶
앞뒤 공백을 제거한 문자열을 반환합니다.
문자열 사이의 공백은 제거하지 않습니다.
a = ' Python '
b = ' Just Do It!'
print(a.strip())
print(b.strip())
Python
Just Do It!
zfill()¶
문자열 앞에 숫자 0을 채워서 입력한 숫자만큼의 길이가 되도록 합니다.
a = '15'
b = '2416'
print(a.zfill(6))
print(b.zfill(6))
000015
002416