프로그래밍에서 데이터data란 프로그램을 운용할 수 있는 형태로 기호화 또는 숫자화한 자료를 의미합니다. 문자로 표시된 영화 제목이나, 숫자로 표시된 급여 소득 등을 각각 데이터로 볼 수 있죠.

일반적으로 데이터 그 자체는 어떤 사실을 표현한 것에 불과하지만, 잘 가공하면 원하는 정보를 얻는데 필요한 재료가 됩니다. 예를 들면, 연도별 총급여 데이터를 수집한 뒤, 전년도 대비 총급여 증가율을 계산하고 그 결과를 그래프로 표현하면 총급여 증가율의 추세를 쉽게 알 수 있습니다. 그리고 다른 정보를 결합하여 미래에 대한 예측에도 활용할 수 있습니다.

 

데이터를 효율적으로 처리하기 위해서는 데이터를 분류해야 하는데, 컴퓨터 프로그래밍에서는 크게 문자와 숫자로 데이터를 구분합니다.

 

데이터란

 

 

 


 

✅문자 데이터 이해하기

한국어, 영어 등 우리가 사용하는 언어를 문자 또는 기호로 표현하는 방법은 여러 가지가 있습니다. 예를 들어, 한국어 인사말을 ‘안녕하세요’라고 한글로 표기할 수 있지만, 영어 알파벳 ‘annyeonghaseyo’로 쓸 수도 있듯이요.

언어뿐만 아니라, 우리가 보고 듣고 느끼는 모든 것은 문자(또는 기호)로 표현할 수 있어요. 예를 들면, 누군가를 사랑하는 감정은 ‘사랑’ 또는 ‘♥’를 사용해서 표현할 수 있죠. 이와 같이 언어를 포함해 세상에 존재하는 모든 것은 문자로 표기할 수 있고, 문자로 표기된 것을 문자 데이터character data라고 합니다.

 

문자 데이터를 이해했으니 간단한 질문 하나를 해보겠습니다. “아라비아 숫자(0~9)만 써서 표기한 것도 문자 데이터인가요?”

 

컴퓨터가 처리할 수 있는 데이터는 크게 문자 데이터숫자 데이터로 나눌 수 있습니다. 이렇게 두 가지로 나누는 이유는 저장하는 방법이나 용도, 다루는 방법 등이 확연히 다르기 때문입니다.

문자 데이터는 앞서 설명해 드렸듯이 세상에 존재하는 것을 기호(한글, 영어 알파벳, 아라비아 숫자 등)로 표기한 것입니다. 어떤 기호를 쓰든지 상관없어요. 반면에 숫자 데이터numeric data는 수number를 아라비아 숫자로 표기한 것을 말합니다. 숫자 데이터도 기호를 써서 표기한 것이라는 점에서 문자 데이터라고 볼 수도 있지만, 사칙 연산같이 수리적인 계산을 할 수 있다는 점 때문에 문자 데이터와 확실한 차이점이 있습니다.

 

혹시 계좌 번호를 가지고 계신가요? 은행에서 예금에 가입하거나 증권사에서 주식 투자를 하거나 보험사에서 신규 보험을 가입하면 숫자로 쓰인 계좌 번호라는 것을 알려줍니다. 예를 들어 제가 은행에 가서 통장을 만들고 통장 겉면을 열어 봤더니 다음과 같이 아라비아 숫자로 쓰인 계좌 번호라는 것을 발견했어요.

 

계좌번호는 문자 데이터 숫자 데이터

 

위와 같은 계좌 번호는 숫자 데이터일까요? 아니면 문자 데이터일까요? 일단 숫자로만 표현되어 있으니 숫자 데이터처럼 보이기는 합니다. 

*여기서 잠깐: 숫자 데이터의 특징

숫자 데이터의 가장 큰 특징은 사칙 연산(더하기, 빼기, 곱하기, 나누기)과 같이 수리적인 계산이 가능하다는 점입니다. 애초에 물건을 세기 위해서 숫자의 개념이 만들어졌고, 여러가지 수리적인 계산을 통해 음수, 무리수, 허수 등으로 수의 개념이 확장됐다는 것을 생각해 보면 수리적인 계산은 숫자 데이터의 기본적인 특징이라고 할 수 있습니다.

 

대부분의 금융 회사는 계좌 번호를 무작위로 생성하는 것이 아니라 일정한 업무 규칙에 의해서 만듭니다. 계좌 번호를 만들 때 다음과 같은 생성 규칙이 있다고 가정해 보겠습니다.

[계좌 번호: 취급 지점 번호 + 상품 구분 번호 + 취급 일련 번호]

위와 같은 생성 규칙에 따라 예시의 계좌 번호는 다음과 같은 의미가 있습니다.

 

계좌번호는 문자데이터 숫자데이터

 

즉 계좌 번호 생성 규칙을 통해서 생성된 ‘77791022723607’ 계좌 번호는 수리적인 계산에 쓰이는 것이 아니라, 단순히 지점이나 상품 구분을 쉽게 하기 위한 기호로 사용한다는 것을 알 수 있습니다. 따라서 계좌 번호는 문자 데이터입니다.

이로써 ‘아라비아 숫자(0~9)로 표기된 것도 문자 데이터인가요?’라는 질문에 대한 답변도 명확해졌습니다.
정리해보면,

  • 문자로 표기된 것을 문자 데이터라고 합니다.
  • 아라비아 숫자만으로 표기된 데이터는 그 데이터의 의미, 생성 방법, 사용 방법, 수리적 계산 여부 등을 고려해서 문자 데이터인지, 아니면 숫자 데이터인지 구분해야 합니다.

 

 

 


 

✅문자 데이터 표현하기

이번에는 문자 데이터를 프로그래밍 언어로 표현하기 위해 앞에서 다뤘던 계좌 번호 데이터를 가져오겠습니다. 

계좌 번호: 77791022723607

 

계좌 번호가 문자 데이터라는 사실을 확인했는데요, 컴퓨터는 단순한 계산 기계에 불과하기 때문에 계좌 번호가 사칙 연산이 필요한 데이터인지 여부를 판단할 수 없고, 따라서 이것이 문자 데이터인지 숫자 데이터인지 구분할 수 없지요. 그래서 컴퓨터 과학자들은 이렇게 합의했습니다. “문자의 양쪽 끝을 따옴표로 감싸서 문자 데이터를 표현하자!”

 

여기서 따옴표는 큰따옴표(“…”) 또는 작은따옴표(‘…’) 모두 사용 가능합니다. 다만, 프로그래밍 언어에 따라 큰따옴표와 작은따옴표의 쓰임새를 명확히 구분해서 사용하는 경우도 있어요. 예를 들어, 파이썬은 Hello, World!를 문자 데이터로 표시하기 위해서는 다음과 같이 사용합니다.

"Hello, World!"
'Hello, World!'

 

프로그래밍 언어는 따옴표로 둘러싸인 데이터, 즉 Hello, World!를 문자 데이터로 인식하는 것이죠. 간단한 코딩으로 확인해 보겠습니다. 코랩에서 새 노트를 열고 셀에 다음의 코드를 입력한 다음 [셀 실행(▶)] 아이콘을 누르면 실행 결과를 확인할 수 있습니다.

print("Hello, World!")
print('Hello, World!')
print("2024년을 빛낼 프로그래밍 입문서!")
print("혼자 공부하는 첫 프로그래밍!")
print('323')
[실행 결과]

Hello, World!
Hello, World!
2024년을 빛낼 프로그래밍 입문서!
혼자 공부하는 첫 프로그래밍!
323

 

  • 1줄: print 명령어를 사용해서 문자 데이터를 화면에 출력합니다. print 명령어를 사용하기 위해서는 괄호와 함께 화면에 출력할 데이터를 적어 줘야 합니다. 여기서는 큰따옴표로 문자 데이터를 만들고, print 명령어에 전달해서 화면에 출력합니다(실행 결과 1줄).
  • 2줄: 작은따옴표로 문자 데이터를 만들고, print 명령어에 전달해서 화면에 출력합니다(실행 결과 2줄). 1줄의 명령어와 동일한 결과를 얻을 수 있습니다.
  • 3줄: 큰따옴표를 사용해서 “대한민국을 빛낼 프로그래밍 입문서!”를 포함한 문자 데이터를 만들고, 화면에 출력합니다(실행 결과 3줄).

  • 4줄, 5줄: 각각 이 책의 제목과 아라비아 숫자 323을 따옴표로 묶어서 문자 데이터로 만들고, 화면에 출력하는 코드입니다(실행 결과 4~5줄).

이로써 파이썬은 큰따옴표 또는 작은따옴표를 사용해서 문자 데이터를 만든다는 사실을 알 수 있습니다.

 

마지막으로 정리를 해보자면,

  • 프로그래밍 시에 문자 데이터는 따옴표 기호로 묶어 줍니다.
  • 따옴표는 큰따옴표 또는 작은따옴표를 모두 쓸 수 있습니다.

 

 


혼자 공부하는 첫 프로그래밍 with 파이썬(개정판)_평면 표지

혼자 공부하는 첫 프로그래밍 with 파이썬이 입문자의 눈높이에 맞춰 인공지능 등 최신 기술을 소개하며 더욱 유익한 내용으로 업그레이드되었습니다.

<좀 더 알아보기>에 생성AI를 활용해 코딩하는 방법을 소개하는 내용이 추가되어 더욱 흥미롭게 프로그래밍의 세계를 탐험할 수 있습니다. 한발 더 나아가 <레벨 업>의 예제와 <도전 문제>를 풀며 응용력까지 챙겨보세요!

 

👀 도서 자세히 보기
✍️ 유튜브 강의
🙋 문현일 저자님과 함께하는 오픈 채팅방