Python/Python 시작하기

4. 파이썬 자료형 - 문자열 이란?

arvigoes 2019. 12. 12. 22:44

문자열 만들기

문자열(string, str) 이란 문자의 나열(순서가 있는 묶음 이라는 뜻입니다.

이미 문자열은 많이 사용해 보고 있었습니다. 이전에 파이썬 입력과 출력 이라는 강좌에서도 많이 사용해 보았습니다.

# Code 1
# 작은 따옴표
print('문자열...아무글자나..english 도 역시..123')

# 큰 따옴표
print("문자열...아무글자나..english 도 역시..123")

# 둘다사용
print('문자열...아무글자나..english 도 역시..123")

위 코드 처럼 작은따옴표(') 큰따옴표(") 로 둘러싸여 있는 텍스트 데이터를 문자열 이라고 합니다.

위 코드를 실행하면

img 7-1. 에러 발생

아래 처럼 에러가 나는데 절대로 혼용을 하면 안됩니다. 

작은 따옴표(') 로 시작했으면 마지막도 꼭 작은 따옴표로 끝나야 하고 큰따옴표(")도 마찬가지 입니다.

 

출력하고 싶은 내용에 큰따옴표나 작은따옴표가 포함된다면 (ex. 영희가 "안녕" 이라며 철수에게 인사를 했습니다.)

어떻게 해야 할까요?


큰따옴표와 작은따옴표를     있다는 점을 이용하면 쉽게 해결이 가능 합니다.

# Code 2
# 물자열 내에 큰따옴표(") 가 포함된 문장
print('영희가 "안녕" 이라며 철수에게 인사를 했습니다.')

img 7-2. 실행 결과

나는 항상 문장은 큰따옴표(") 로 표시하고 싶다. 그런데 문장내에 큰 따옴표(") 가 있을때 그냥 하게 되면 아레 이미지 처럼 에러가 발생하게 됩니다. 큰따옴표 이후로 가장 처음 만나는 큰따옴표를 인식해서 문장의 종료를 판단하게 됩니다.

img 7-3. 이건 에러

 

이스케이프 키

이럴때는 아래의 방법으로 해결이 가능 합니다.  문자열내에 포함시키고 싶음 따옴표 앞에 이스케이프(\) 플 해 주면 됩니다. (보통은 엔터 키 위 - 백스페이스 아래 에 있어요 )

# Code 3
# 물자열 내에 큰따옴표(") 가 포함된 문장
print("영희가 \"안녕\" 이라며 철수에게 인사를 했습니다.")

img 7-4. 실행 결과
img 7-5. 이스케이프키

이 이외에도 이스케이프로 특별한 일반적으로 입력하기 힘든 문자 입력이 가능합니다.

틀별한 문자는 아래와 같습니다.

  • \\: 백슬래시   
  • \': 작은따옴표 (작은따옴표 안에서)
  • \": 큰따옴표 (큰따옴표 안에서)
  • \n: 개행 문자 (줄바꿈. 다음 행으로 바꿈)
  • \r: 개행 문자 (커서를 행의 앞으로 이동)
  • \t: 탭 문자 (탭간격 띄우기)
# 코드 4
# 이스케이프 입력
print("영희가 \"안녕\" 이라며 철수에게 인사를 했습니다\t탭띄우기..그리고\n줄도바꿔요")

img 7-6 결과

이스케이프키를 무시하고 문자열그대로 사용하고 싶다면 문자열 앞에 r 을 사용하면 됩니다.

이 기능이 왜 필요할까 싶은 것도 있는데 코드 제네레이터 또는 정규식 같은 복잡한 문장을 다룰때 많이 사용이 됩니다.

# code 5
# \(이스케이프)무시 하기
print(r'개행 문자(\n)를 자주 자용해서 가독성을 높여주세요')

img 7-7. r 무시

작은따옴표 3개(''') 또는 큰따옴표 3개(""") 사용하기

개행을 자주 사용해야 하는 경우 좀더 편하게 하기위해 사용합니다

설명이나 이런걸 달아줄때 편하게 사용 가능합니다.

# Code 6
# 개행
help = """이 페이지는 help 페이지 입니다.
도움이 필요한 내용을 확인 하시고 해당하는 번호를 누르세요
1. 파이썬 잘하고싶다
2. 그냥 
3. 모르겠네요
4. 적당히
입력해 주세요"""

print(help)

img 7-8 code6 결과