Python 01 - Variables & Data Types

Kjjedd·2025년 12월 29일

Python

목록 보기
1/10
post-thumbnail

📦 변수와 자료형

이번 파트는 파이썬 문법을 배우는 것이 아니라 “컴퓨터가 데이터를 어떻게 인식하고 처리하는가”를 이해하는 과정이다.


📦 변수란 무엇인가?

변수는 데이터를 저장하는 이름표가 붙은 상자다.
프로그램이 값을 기억하고, 꺼내 쓰고, 바꾸기 위해 반드시 필요하다.

user_name = "철수"
age = 25

값을 변수에 저장하지 않으면, 같은 값을 여러 곳에 반복 작성해야 하고 값이 바뀔 때마다 모든 코드를 수정해야 한다.


✏️ 변수로 할 수 있는 3가지

  1. 값 저장하기
  2. 저장한 값 꺼내 쓰기
  3. 다른 값으로 바꾸기 (재할당)
score = 0
score = score + 10
score += 10

변수는 프로그램의 상태(state)를 표현하는 핵심 도구다.


🧠 변수 이름 규칙

  • 문자 또는 _ 로 시작
  • 숫자로 시작 불가
  • 공백 불가
  • 예약어 사용 불가

좋은 변수명은 주석 없이도 코드를 이해하게 만든다.


📚 자료형(Data Type)이란?

자료형은 변수에 저장된 값의 종류다.
컴퓨터는 데이터의 종류를 정확히 알아야 올바르게 처리할 수 있다.

자료형예시용도
int10개수, 반복
float3.14측정값
str"Hello"문자
boolTrue조건
NoneNone값 없음

⚠️ 부동소수점 오차

컴퓨터는 실수를 이진수로 저장한다.
이 과정에서 미세한 오차가 발생할 수 있다.

print(0.1 + 0.2)
# 0.30000000000000004

정확한 계산이 필요할 경우 decimal 모듈을 사용해야 한다.

from decimal import Decimal

#주의: Decimal(0.1)이 아니라 Decimal('0.1')처럼 문자열로 넣어야 합니다.
num1 = Decimal('0.1')
num2 = Decimal('0.2')

result = num1 + num2
print(result)
#출력: 0.3


🔤 문자열과 이스케이프 문자

문자열은 따옴표로 감싼 텍스트다.

이스케이프 문자

표현의미
\n줄바꿈
\t
\\백슬래시
\'작은따옴표

✨ f-string (문자열 포매팅)

f-string은 가장 현대적이고 가독성이 좋은 문자열 포매팅 방식이다.

name = "철수"
age = 25

print(f"이름: {name}, 나이: {age}")
print(f"내년 나이: {age + 1}")
print(f"원주율: {3.14159:.2f}")

문자열 안에서 표현식, 연산, 포맷 지정까지 가능하다.


🔘 논리형(Boolean)과 논리 연산자

논리형은 True / False 두 가지 값만 가진다.

age = 20
print(age >= 18)  # True

논리 연산자

  • and : 모두 참
  • or : 하나라도 참
  • not : 반전

조건문(if), 반복문(while)의 핵심 재료다.


🕳 None 타입과 is 비교

None은 값이 없음을 의미하는 특별한 객체다.

value = None

if value is None:
print("값이 없음")

is는 같은 객체인지 비교하고 None은 하나뿐인 객체이기 때문에 is 사용이 권장된다.


🔄 명시적 형변환

자료형을 직접 변환하는 것을 명시적 형변환이라 한다.

num = int("123")
price = float("99.9")
text = str(25)

⌨️ input()과 형변환

input()은 항상 문자열(str)을 반환한다.

user_input = input("숫자 입력: ")
number = int(user_input)
print(number + 10)

형변환을 하지 않으면 TypeError가 발생한다.


✅ 핵심 요약

  • 변수는 프로그램의 기억 장치다
  • 자료형은 데이터 처리 방식의 기준이다
  • 부동소수점 오차는 반드시 인지해야 한다
  • f-string은 기본 포매팅 방식이다
  • None 비교는 is 사용
  • input() 사용 시 형변환 필수
profile
Gongbuhaja

0개의 댓글