[CS-001][입문] 변수·값·자료형을 한 번에 이해하기 > IT 기술 공유

본문 바로가기
사이트 내 전체검색

IT 기술 공유

[CS-001][입문] 변수·값·자료형을 한 번에 이해하기

페이지 정보

profile_image
작성자 기술팀장
댓글 0건 조회 232회 작성일 26-08-28 19:32

본문

[이번 수업]

프로그램은 데이터를 기억하고 바꾸며 결과를 만듭니다. 이때 가장 먼저 만나는 세 단어가 변수, 값, 자료형입니다. 세 개를 구분하면 앞으로 배우는 조건문·함수·데이터베이스도 훨씬 쉽게 이해할 수 있습니다.

[선수지식]

CORE-001의 입력→처리→출력 흐름을 알고, 터미널에서 짧은 명령을 실행할 수 있으면 충분합니다.

[학습목표]

1. 변수·값·자료형의 차이를 설명할 수 있습니다.
2. 숫자와 문자열을 구분하고 올바른 연산을 선택할 수 있습니다.
3. Python에서 값을 저장하고 자료형을 확인할 수 있습니다.

[핵심개념]

값(value)은 프로그램이 다루는 실제 데이터입니다. 20은 숫자 값, "서울"은 문자열 값, True는 참을 뜻하는 불리언 값입니다. 코드에 직접 적은 이런 값을 리터럴(literal), 즉 ‘코드에 그대로 쓴 값’이라고도 합니다.

변수(variable)는 값을 다시 사용하기 위해 붙이는 이름입니다. name = "민수"라고 쓰면 name이라는 이름으로 문자열 값을 가리킬 수 있습니다. 초보 단계에서는 ‘내용물을 찾기 위한 이름표’로 생각하면 좋습니다. 다만 모든 언어에서 변수가 똑같은 상자나 메모리 주소를 뜻하는 것은 아닙니다. Python에서는 이름이 객체를 가리키는 방식으로 동작합니다.

자료형(type)은 값의 종류이자 가능한 연산의 규칙입니다. 정수 int는 덧셈할 수 있고, 문자열 str은 이어 붙일 수 있습니다. 불리언 bool은 True와 False로 조건을 표현합니다. 목록 list는 여러 값을 순서대로 담습니다. Python 객체는 값과 자료형을 가지며, type()으로 자료형을 확인할 수 있습니다.

age = 20에서 age는 변수 이름, 20은 값, int는 자료형입니다. age = 21을 실행하면 같은 이름이 새 값을 가리킵니다. Python과 JavaScript는 실행 중 값의 자료형을 판단하는 동적 타입 언어이고, Java처럼 변수 선언 때 자료형을 명시하는 언어도 있습니다. 방식은 달라도 ‘이 값에 어떤 연산이 가능한가’가 핵심입니다.

[따라하기]

Windows는 ‘py --version’, macOS·Linux는 ‘python3 --version’으로 Python을 확인합니다. 아래 내용을 values.py로 저장하세요.

name = "민수"
age = 20
is_beginner = True
next_age = age + 1

print(name, type(name))
print(age, type(age))
print(is_beginner, type(is_beginner))
print("내년 나이:", next_age)

Windows에서는 ‘py values.py’, macOS·Linux에서는 ‘python3 values.py’를 실행합니다. 결과에는 민수와 str, 20과 int, True와 bool, 내년 나이 21이 차례로 표시됩니다. type()의 출력 모양에는 class라는 단어가 붙지만 지금은 str·int·bool 이름에 집중하면 됩니다.

[흔한 실수]

20과 "20"은 다릅니다. 앞은 정수이고 뒤는 글자 두 개로 이루어진 문자열입니다. 따라서 "20" + 1은 Python에서 TypeError가 납니다. 변수 name과 문자열 "name"도 다릅니다. 대소문자를 구분하므로 age와 Age는 서로 다른 이름입니다. 의미 없는 a, b보다 user_age처럼 목적이 보이는 이름을 사용하세요.

[보안 주의]

사용자가 입력한 값은 원하는 자료형이라고 가정하면 안 됩니다. Python의 input() 결과는 항상 문자열이므로 숫자가 필요한 경우 검사한 뒤 int()로 변환해야 합니다. 입력 문자열을 코드로 실행하는 eval()에 넘기지 마세요. 비밀번호·API 키 같은 비밀값은 코드의 일반 변수에 직접 적어 저장소에 올리지 않습니다.

[직접 해볼 과제]

city라는 문자열 변수와 temperature라는 숫자 변수를 추가하고 ‘서울의 온도는 25도입니다’처럼 출력해 보세요. temperature를 "25"로 바꿨을 때 type() 결과와 덧셈 결과가 어떻게 달라지는지도 안전하게 관찰하세요.

[확인문제]

1. score = 100에서 변수 이름·값·자료형은 각각 무엇인가요?
2. 숫자 30과 문자열 "30"은 어떤 연산에서 차이가 드러날까요?
3. 입력값의 자료형을 확인하지 않으면 어떤 문제가 생길 수 있나요?

[다음 학습]

다음 게시 과정은 TOOL-001 ‘코드 편집기와 개발환경 준비’입니다. CS 트랙의 다음 단계는 CS-002 ‘조건문과 반복문’입니다.

[공식 참고 자료]

Python 공식 문서 — 객체·값·자료형
https://docs.python.org/3/reference/datamodel.html

Python 공식 문서 — 내장 자료형
https://docs.python.org/3/library/stdtypes.html

MDN 공식 학습자료 — Variables
https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/Variables

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

접속자집계

오늘
4,050
어제
6,862
최대
16,772
전체
770,001
Copyright © 소유하신 도메인. All rights reserved.