본문 바로가기

Language/Python

[Python] 문자열 자료형

파이썬 출력에서 사용한 ‘Hello World’ 기억하시나요?

‘Hello World’는 글자잖아요. 여러분들의 이름도 글자죠.

이처럼 글자를 다루는 자료형을 문자열(String)이라고 해요.

 

다른 프로그래밍 언어에서는 조금 더 상세하게

문자문자열이라는 자료형을 구분해서 사용하거든요?

그런데 파이썬에서는 구분이 없어요.

그냥 다 문자열이에요.

 

그럼 파이썬에서 문자열은 어떻게 사용할 수 있을까요?

 

작은따옴표(’)와 큰따옴표(”)를 이용한 방법

 

먼저 파이썬은 작은따옴표(’)와 큰따옴표(”)를 사용해서 문자열을 작성할 수 있어요.

물론 자바스크립트도 작은따옴표로 문자열을 표현할 수 있지만

C나 JAVA에서는 작은따옴표를 사용하면 문자라는 자료형으로 생각해요.

 

그럼 파이썬에서 문자열을 작성해볼까요?

str1 = 'Hello World'
str2 = "Hello World"
name = "홍길동"

 

srt1과 str2는 모두 ‘Hello World’라는 문자열을 저장하네요.

두 코드를 보는 것과 같이 처음에 작은따옴표로 시작했으면 마지막에도 작은따옴표로 끝나야되요.

당연히 큰따옴표로 시작했으면 큰따옴표로 끝나야겠죠?

 

왜 파이썬은 두 방법을 모두 지원할까요?

다음에 작성된 코드로 그 이유를 알아볼게요.

 

# I'm student.를 화면에 출력하기
introduce = "I'm student."

# 선생님이 "오늘 숙제했어?"라고 물어봤다.를 화면에 출력하기
message = '선생님이 "오늘 숙제했어?"라고 물어봤다.'

혹시 이유를 발견하셨나요?

 

우리가 사용하는 문장에는 작은따옴표와 큰따옴표가 사용되기도 합니다.

이런 문자를 조금 더 편하게 사용할 수 있도록 파이썬은 두 가지 방법을 지원하는데요.

다른 언어에서는 어떻게 작성해야 했을까요?

 

# 코드는 파이썬으로 작성했지만 다른 언어라고 생각해주세요.
message1 = "선생님이 \\"오늘 숙제했어?\\"라고 물어봤다."

아시겠죠?

 

다른 언어에서는 문자열 안에 큰따옴표를 사용하기 위해서 \\를 입력해야되요.

이렇게 작성되는 문자를 이스케이프 문자라고 하는데

파이썬으로 작성하면 이스케이프 문자를 최소화할 수 있어요.

물론! 파이썬도 이스케이프 문자를 사용할 수 있으니 message1을 출력하면 위에 작성한 message와

동일하게 출력이 될거에요.

 

작은따옴표(’) 또는 큰따옴표(”)를 이용하여 여러 줄 작성하기

 

처음 파이썬을 공부하면서 이 부분에서 많이 놀랐어요.

먼저 기존에 문자열을 여러 줄 작성하는 방법에 대해 알아볼게요.

# 출력 예시
#    안녕하세요.
#    저는 홍길동입니다.
multiMessage = '안녕하세요.\n저는 홍길동입니다.'

 

이번에도 이스케이프 문자가 사용되었네요.

\n은 줄 바꿈을 위한 코드에요. 주로 개행문자라고해요.

 

다음으로 파이썬에서 지원하는 방법으로 작성해볼까요?

# 출력 예시
#    안녕하세요.
#    저는 홍길동입니다.
multiMessage1 = """안녕하세요
저는 홍길동입니다.
"""
print(multiMessage1)
>>> 안녕하세요.
>>> 저는 홍길동입니다.

# 출력 예시
#    저의 직업은 개발자입니다.
#    저는 홍길동입니다.
multiMessage2 = '''저의 직업은 개발자입니다.
저는 홍길동입니다.
'''
print(printMessage2)
>>> 저의 직업은 개발자입니다.
>>> 저는 홍길동입니다.

 

문자열을 여러 줄 출력하기 위해서 작은따옴표나 큰따옴표를 세 개씩 쓰면 되네요.

매번 문장 끝에 개행문자를 작성하는 것보다 파이썬에서 제공하는 방법이 더 편해요.

 

문자열로 형변환하기

 

숫자 자료형에서는 문자열를 숫자로 형변환 하는 방법을 알아봤어요.

이번에는 반대로 숫자를 문자열로 형변환해보려고 해요.

 

물론 숫자만 문자열로 형변환할 수 있는 것은 아니에요.

다른 자료형들도 문자열로 형변환 가능하다는 것을 생각하고,

 

그럼 코드를 작성해볼까요?

price = str(10000)
print(type(price))
>>> <class 'str'>

 

쉽죠? 이번에는 str(...) 함수를 통해 문자열로 형변환 하는 방법을 배워봤어요.

'Language > Python' 카테고리의 다른 글

[Python] 문자열 포매팅  (0) 2022.05.23
[Python] 문자열 연산  (0) 2022.05.23
[Python] 숫자 자료형  (0) 2022.05.23
[Python] 자료형과 변수(with. 타입체크와 형변환)  (0) 2022.05.23
[Python] 표준 입출력  (0) 2022.05.23