본문 바로가기

BackEnd/Python

파이썬의 자료형과 문자열 part.1

728x90
반응형

자료형은 개발자들이 쉽게 사용할 수 있도록 기능과 역할에 따라 자료로 구분한 형태이며 파이썬에서 사용할 수 있는 자료형은 다음과 같습니다.

  • bool
  • int
  • float
  • complex
  • str
  • tuple
  • list
  • dict
  • function

파이썬에서 자료형을 확인할 때는 type( )함수를 사용합니다.

type( )함수를 사용하여 자료형 파악

다음과 같이 입력하고 실행을 하면 <class 'str'>, <class 'int'>라는 내용이 출력됩니다.

str과 int는 정수를 뜻하는 integer와 문자열을 뜻하는 string의 줄임말입니다.

 

문자열 내부에 따옴표를 넣었을 때

다음의 예문은 문자열 내부에 큰따옴표를 넣은 코드입니다. 이 코드는 과연 

[안녕하세요 라고 말했습니다.]라는 문장이 제대로 출력될까요?

문법의 오류

결과를 보면 print(""안녕하세요"라고 말했습니다.")에 문법 오류가 있다고 에러 메시지가 보입니다.

이 오류의 원인은 문자열과 문자열을 단순하게 나열을 할 수 없는 파이썬의 특성 때문입니다.

print 함수의 괄호를 보면 [""]의 부분은 공백을 의미하고 ["라고 말했습니다."]는 문자열입니다.

그렇다면 [안녕하세요]는 무엇일까요? 단순한 글자입니다. 즉, 아무것도 아닌 것입니다.

 

위와 같이 문법 에러를 해결하는 방법으로 아래 예문을 보겠습니다.

완전한 문자열을 만드는 방법

두 print( ) 함수의 내용을 보면 큰따옴표와 작은따옴표가 쓰인 것을 볼 수 있습니다.

이처럼 문자열 전체를 큰따옴표 또는 작은따옴표로 둘러싸면서 문자열 안에 따옴표를 표시할 수 있습니다.

문자열 안에 사용된 따옴표들은 기호로 인식하지 않습니다.

 

또 다른 방법은 백 슬래시(\), 이스케이프 문자를 사용하는 것입니다.

다음 예문과 같이 1번 코드에는 문자열 안에 백 슬래시(\)를 포함시켰습니다.

2번 코드에는 \n이라는 문자를 포함시켰습니다. 

결과를 확인해 보겠습니다.

결과를 확인해보면 다음과 같습니다. 

1번 코드는 백 슬래시가 포함되었음을 확인할 수 있고 2번 코드는 두 줄의 문장이 되었습니다.

이는 [\n]는 이스케이프 문자의 줄 바꿈 역할을 하기 때문에 두 줄의 문장이 되었습니다. 

 

이스케이프 문자에 대한 내용은 해당 링크를 참고하시면 됩니다.

https://ko.wikipedia.org/wiki/%EC%9D%B4%EC%8A%A4%EC%BC%80%EC%9D%B4%ED%94%84_%EB%AC%B8%EC%9E%90

 

이스케이프 문자 - 위키백과, 우리 모두의 백과사전

이스케이프 문자는 이스케이프 시퀀스를 따르는 문자들로서 다음 문자가 특수 문자임을 알리는 백슬래시(\)를 사용한다. 일부 제어 시퀀스인 이스케이프 문자들은 미리 예약되어있다. 예약문자

ko.wikipedia.org

그 밖의 사용법으로 큰따옴표("""), 작은따옴표(''') 3개를 사용하여 문자열을 만들 수 있습니다. 

 

문자열을 만드는 방법도 있지만 연산하는 방법도 있습니다. [+], [*]를 사용합니다.

문자열 연산자 [+]

다음 예시와 같이 ["안녕"]이라는 문자가 ["?"]와 ["!"]로 연결되어있습니다.

연산 결과

결과를 보니 [안녕?], [안녕!]이라고 출력이 되었습니다. 

우리는 [+] 연산자는 덧셈을 하는 연산자로 알고 있습니다.

연결이 아닌 합의 연산

위의 예시처럼 말이죠

하지만 파이썬에서는 문자열을 연결하는 역할을 하고 있습니다.

즉, print안의 자료형이 정수일 때는 합을, 문자열인 경우에는 연결을 의미합니다.

 

그렇다면 이런 표현도 과연 될까요?

과연 결과는?
답은 [X]

결과는 에러가 납니다. 

그 이유를 보면 [TypeError : can only concatenate str (not "int") to str]라는 에러를 볼 수 있는데

이는 [문자열과 문자열이 아닌 숫자와 연결시킬 수 없다]라고 말합니다.

즉, [서로 다른 자료형은 연결할 수 없다.]라고 볼 수 있습니다.

 

문자열을 반복하는 [*] 연산자이며 일반적인 의미로는 곱하기라는 의미가 있지만 파이썬에선 반복의 역할을 합니다.

간단한 예로 앞서 작성한 print( ) 함수의 내용을 ("안녕하세요"*10)으로 바꾼 뒤 실행을 해봅시다.

반복 실행결과

실행 결과 [안녕하세요]라는 문자열이 10회 반복되어 출력됨을 볼 수 있습니다.

 

728x90
반응형

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

파이썬의 불린  (0) 2022.03.25
파이썬의 숫자 표현과 변수 그리고 input()  (0) 2021.12.10
파이썬의 주요 키워드와 뱀과 낙타  (0) 2021.10.08
파이썬을 설치하기  (0) 2021.04.07
파이썬이란?  (0) 2021.04.07