▣ 문자열의 부분을 잘라내볼게요.
k = "Python programming is fun!!"
print (k)
print (k[0])
print (k[3])
print (k)의 결과는 쉽게 이해할 수 있겠지만, 나머지 라인의 결과가 왜 “P” 와 “h” 인지는 다소 의아할 것입니다. python에서 문자열의 일부분을 인덱스를 사용해서 잘라낼 수가 있습니다. 그 인덱스는 0부터 시작합니다. 그러면, 한글자는 이렇게 접근해서 잘라올 수 있는데, 연속된 글자는 어떤 방법으로 잘라내야 할까요?
c = "Python programming is fun!!"
print (c[0:6])
print (c[7:10])
위에 있는 코드를 보면 알 수 있는데, 범위를 지정하는 접근으로 연속된 문자열을 잘라낼 수가 있습니다. 첫 번째 숫자 인덱스부터 두번째 숫자 인덱스 직전까지의 문자열을 잘라옵니다. 명심하세요. 두번째 인덱스 전까지 라는 것을!!
k = "Python programming is very fun!!"
print (k[0:])
print (k[:10])
이렇게 시작, 끝 인덱스중 하나를 생략하는 방법으로도 가능합니다. from 인덱스가 생략되면 0을 의미하고, to 인덱스가 생략되면 그 문자열의 마지막까지를 의미합니다.
자, 문자열을 잘라내는 것을 어떻게 활용할수 있는지 한번 살펴볼께요.
yyyymmdd = "20180105"
yyyy = yyyymmdd[0:4]
mm = yyyymmdd[4:6]
dd = yyyymmdd[6:8]
print (yyyy + "년 " + mm + "월 " + dd + "일")
이렇게 원래의 8자리 날짜를 나타내는 문자열을 사람이 이해하기 쉬운 모양으로 표현을 변경해 보았습니다.
▣ 문자열 포매팅을 해보자.
문자열 포매팅이란 문자열 내에 어떤 값을 삽입하는 방법을 의미합니다. “나는 사과 3개를 먹었다” 라는 문자열을 만들때, 3이라는 숫자는 무언가 연산의 결과로 뒤에 결정된다고 생각해봅시다. 즉, 3은 변수가 되는 것입니다. 이럴때 문자열을 완성하는 것을 포맷팅이라고 합니다.
print ("나는 사과 5개를 먹었다")
print ("나는 사과 %d개를 먹었다" %5)
# 위 두줄의 결과는 동일합니다. 두번째 코드는 5를 변수로 처리했지요.
numOfApple = 5
print ("나는 사과 %d개를 먹었다" %numOfApple)
# 이렇게 해도 리턴 결과는 동일합니다.
이렇게 가운데 삽입할 수 있는 형태가 숫자만 있을까요? 숫자 이외에 다양한 자료형태로 삽입이 가능한데, 많이 활용되는 문자 포매팅을 알아볼게요.
print ("나는 파이썬 프로그래밍을 합니다")
print ("나는 %s 프로그래밍을 합니다" %"파이썬")
# 위 두라인의 실행 결과는 같습니다. 두번째 코드는 "파이썬" 문자열을 변수로 처리했지요.
nameOfLanguage = "파이썬"
print ("나는 %s 프로그래밍을 합니다" %nameOfLanguage)
# 이렇게 해도 실행 결과는 같습니다.
자, 문자열 포매팅에 대해서도 어느정도 이해라수 있지요? 만약에 문자열 안에 삽입할 데이터가 2개 이상이라면 어떻게 해야 할까요?
print ("나는 파이썬 프로그래밍을 7년째 하고 있습니다")
print ("나는 %s 프로그래밍을 %d년째 하고 있습니다" %("파이썬", 7))
# 위 두 라인의 결과는 같습니다.
문장 곳곳에 포매핑 기호를 넣고, 그 갯수만큼, %()로 묶어서 데이터를 넣어주면 됩니다. 이상으로 문자열 포매팅까지 알아보았습니다.