Python/Do it 점프 투 파이썬

파이썬 프로그래밍의 기초 - 문자열 연산하기

goyoungii 2025. 3. 11. 13:15

문자열 연산하기

파이썬에서는 문자열을 더하거나 곱할 수 있다.

문자열 더해서 연산하기

>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'

문자열 곱하기 1

>>> a = "python"
>>> a*2
'pythonpython'

문자열 곱하기 2

print("="*50)
print("My Program")
print("=" *50)

# 결과
==================================================
My Program
==================================================

 

문자열 길이 구하기

| 문자열의 길이는 len 함수를 사용하면 구할 수 있다. 
  len 함수는 print 함수처럼 파이썬의 기본 내장 함수로, 별다른 설정 없이 바로 사용할 수 있다.

>>> a = "Life is too short"
>>> len(a)
17

 

문자열 인덱싱과 슬라이싱

인덱싱(Indexing)이란 무엇을 '가리킨다' / 슬라이싱(Slicing)은 무엇인가를 '잘라 낸다'라는 의미

문자열 인덱싱

>>> a = "Life is too short, You need Python"
>>> a[3]
'e'

=> 자바와 마찬가지로 배열을 셀 땐 0부터 시작한다. 
즉, L = a[0], i = a[1], f = a[2], e = a[3] ...

>>> a = "Life is too short, You need Python"
>>> a[3]
'e'
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1] # 뒤에서부터 첫번째 문자
'n'
>>> a[-0]
'L'

- a[-1]은 무엇일까?

  : 문자열을 뒤에서부터 읽기 위해선 -(빼기) 기호를 붙인다.

    즉, a[-1]은 뒤에서부터 세어 첫 번째가 되는 문자를 의미한다.

 

- a[-0]은 무엇일까?

  : 0이나 -0이나 동일한 값이기 때문에 a[0]을 출력하면 된다.

 

문자열 슬라이싱

단순 기법

>>> a = "Life is too short, You need Python"
>>> b = a[0] + a[1] + a[2] + a[3]
>>> b
'Life'

슬라이싱 방법

>>> a = "Life is too short, You need Python"
>>> a[0:4]
'Life'
>>> a[0:3]
'Lif'

# 슬라이싱 할 때 꼭 시작번호가 0일 필요는 없다.
>>> a[5:12]
'is too '
>>> a[4:7]
' is'

=> 슬라이싱 기법으로 a[시작_번호:끝_번호]를 지정할 때 끝 번호에 해당하는 문자는 포함하지 않는다.

즉, a[0:4]를 수식으로 나타내면 0 <= a < 4

 

  • a[시작_번호:끝_번호]에서 끝_번호 생략하면 시작_번호부터 문자열의 끝까지 뽑아낸다.
>>> a = "Life is too short, You need Python"
>>> a[19:]
'You need Python'
  • a[시작_번호:끝_번호]에서 시작 번호를 생략하면 문자열의 처음부터 끝 번호까지 뽑아낸다.
>>> a = "Life is too short, You need Python"
>>> a[:17]
'Life is too short'
  • a[시작_번호:끝_번호]에서 시작 번호와 끝 번호를 생략하면 문자열의 처음부터 끝까지 뽑아낸다.
>>> a[:]
'Life is too short, You need Python'
  • 슬라이싱에서도 인덱싱과 마찬가지로 -(빼기) 기호 사용 가능.
>>> a = "Life is too short, You need Python"
>>> a[19:-7]
'You need'

 

슬라이싱으로 문자열 나누기

>>> a = "20230331Rainy"
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20230331'
>>> weather
'Rainy'