Python 1회차 : 변수/자료형/출력 (Google Colab 파일명·확장자 .ipynb부터)


Python 1회차 : 변수/자료형/출력 (Google Colab 파일명·확장자 .ipynb부터)

한눈에 보는 요약

Google Colab에서 우리가 주로 다루는 파일은 .ipynb 확장자의 “노트북”이며, 하나의 파일 안에 코드 + 설명 + 실행 결과가 함께 저장됩니다.

파이썬 입문에서 가장 먼저 익혀야 할 감각은 “값의 종류(자료형)”입니다. 숫자(int/float), 문자열(str), 불리언(bool), None을 구분하고 print()로 확인할 수 있어야 합니다.

또한 input()은 항상 문자열로 입력되기 때문에, 계산을 하려면 int() 또는 float()로 형 변환이 필요합니다. 출력은 f-string이 가장 간단하고 실수가 적습니다.

목차


0. 오늘의 목표

  • Colab 노트북(.ipynb)이 어떤 파일인지 이해하고, 이름을 규칙적으로 저장할 수 있습니다.
  • 변수/자료형(숫자/문자/불리언/None)을 구분하고 print()로 출력할 수 있습니다.
  • 형 변환f-string으로 입력값을 계산해 “작동하는 계산기”를 만들 수 있습니다.

핵심 포인트

  • .ipynb는 코드와 설명과 결과가 한 파일에 들어가는 “학습형 파일”입니다(실습에 최적).
  • 파이썬의 변수는 “값을 담는 이름표”이며, =는 같다는 의미가 아니라 대입(저장)입니다.
  • input()은 항상 문자열(str)로 들어옵니다. 계산하려면 int()/float() 변환이 필요합니다.
  • 문자열 결합은 f-string을 우선 사용하면 초보자 실수가 크게 줄어듭니다.
  • 에러는 무서운 것이 아니라 “원인 힌트”입니다. ValueError/ZeroDivisionError만 이해해도 체감이 큽니다.

상세 설명

1. Google Colab 파일명과 확장자(.ipynb) 이해하기

Google Colab에서 우리가 주로 다루는 파일은 “노트북(Notebook)”입니다. 확장자는 .ipynb이며, iPython Notebook의 약자입니다.

.ipynb의 핵심 장점은 한 파일 안에 코드 셀(파이썬 실행)과 텍스트 셀(설명/정리) 그리고 실행 결과가 함께 남는다는 점입니다. 즉, 공부 과정 자체가 기록으로 남기 좋습니다.

1-1. 파일명은 자유롭게, 확장자는 ipynb 그대로 유지

Colab 상단 제목(예: Untitled0.ipynb)을 클릭하면 노트북 이름을 바꿀 수 있습니다. 초보자일수록 “검색/정렬이 쉬운 규칙”을 추천합니다.

  • 예시 1: Python_01_Variables_Types.ipynb
  • 예시 2: 01_변수_자료형_출력.ipynb

중요한 점은 오타입니다. ipynb가 정확한 확장자이며, 종종 ipnb로 착각하는 경우가 있습니다.

1-2. .ipynb와 .py는 무엇이 다를까?

.ipynb는 학습/실험에 최적화된 형식이고, .py는 “프로그램 소스 파일”로서 배포/협업/버전 관리에 유리합니다. 입문 단계에서는 .ipynb가 이해하기 훨씬 쉽습니다.

비교 표: .ipynb vs .py

처음에는 “왜 굳이 두 가지가 있지?”라는 생각이 들 수 있습니다. 아래 표로 목적을 확실히 구분해두면 혼란이 줄어듭니다.

구분 형식 장점 추천 상황 주의사항
.ipynb 노트북(코드 셀 + 텍스트 셀 + 결과) 학습/실습 과정 기록이 편함, 단계별 실행 가능 입문 학습, 실험, 데이터 분석, 튜토리얼 실행 순서가 뒤엉키면 결과가 혼란스러울 수 있음
.py 파이썬 스크립트(소스 코드) 구조화/배포/협업에 유리, 실행 흐름이 명확 프로젝트 개발, 과제 제출, 자동화 스크립트 설명/결과가 파일 안에 자연스럽게 남진 않음

2. 변수(Variable)란 무엇인가?

변수는 한 문장으로 정리하면 “값을 담는 이름표”입니다. 파이썬에서는 아래처럼 씁니다. 여기서 =는 같다는 의미가 아니라 대입(저장)입니다.

x = 10
name = "Martin"

print(x)
print(name)

위 코드는 “x라는 이름표에 10을 담고”, “name이라는 이름표에 Martin이라는 문자열을 담은 뒤”, 각각 출력합니다. 입문 단계에서는 반드시 print()로 확인하는 습관을 들이시는 것이 좋습니다.



3. 자료형(Data Type) 4종: 숫자/문자/불리언/None

파이썬은 값의 종류(자료형)에 따라 동작이 달라집니다. 특히 “입력값을 더했는데 왜 1020이 나오지?” 같은 혼란은 대부분 자료형 감각이 잡히면 해결됩니다.

3-1. 숫자: int, float

int는 정수, float는 실수입니다.

a = 10      # int
b = 3.14    # float

print(a, b)
print(type(a))
print(type(b)) 

type()은 “이 값이 어떤 자료형인지”를 확인하는 함수입니다. 초보자에게는 디버깅 도구로 매우 유용합니다.


3-2. 문자: str(문자열)

문자열은 따옴표로 감쌉니다. 큰따옴표/작은따옴표는 기능적으로 거의 동일하게 쓰이며, 중요한 것은 “따옴표로 감싸면 문자열”이라는 점입니다.

s1 = "hello"
s2 = 'python'

print(s1, s2)
print(type(s1)) 


3-3. 불리언(bool)과 None

bool은 True/False로 참/거짓을 표현합니다. None은 “아직 값이 없다/비어 있다”를 뜻하는 특별한 값입니다.

is_ok = True
is_empty = False
result = None

print(is_ok, is_empty, result)
print(type(is_ok))
print(type(result)) 


None은 초반에는 크게 쓰지 않더라도, 이후 함수/에러 처리/데이터 처리에서 자주 등장합니다. “값이 없는 상태를 표현하는 값”으로 이해해두시면 충분합니다.

기본 자료형 빠른 표

자주 쓰는 기본 자료형을 예시와 함께 정리해두면 실습 속도가 빨라집니다.

자료형 표기 예시 자주 쓰는 상황
정수 int 10, -3, 0 개수, 나이, 점수(정수)
실수 float 3.14, 0.5 평균, 비율, 나눗셈 결과
문자열 str "10", "hello" 입력값, 메시지, 이름
불리언 bool True, False 조건(맞다/틀리다), 체크 상태
없음 NoneType None 초기값, 값 미정 상태

4. 형 변환(Type Casting): 숫자 ↔ 문자

입문자가 가장 많이 헷갈리는 지점이 여기입니다. 결론부터 말하면 input()은 무조건 문자열(str)로 들어옵니다. 숫자를 입력해도 문자열입니다.

user_input = input("숫자를 입력하세요: ")
print(user_input)
print(type(user_input))

입력창에 123을 넣어도 type(user_input)은 str로 나옵니다. 그래서 계산을 하려면 변환이 필요합니다.

4-1. 문자열 숫자를 진짜 숫자로 바꾸기: int(), float()

a = input("첫 번째 숫자: ")
b = input("두 번째 숫자: ")

a = int(a)
b = int(b)

print(a + b) 

입력값을 int로 바꿨기 때문에 이제는 “덧셈”이 됩니다. 반대로 변환을 하지 않으면 아래처럼 “이어 붙이기”가 됩니다.

a = "10"
b = "20"
print(a + b)  # 1020 (더하기가 아니라 문자열 결합)

이 상황에서 파이썬은 잘못한 것이 없습니다. 단지 a와 b가 “문자열”이기 때문에 문자열 규칙대로 동작한 것입니다.

4-2. 숫자를 문자열로 바꾸기: str()

문자열 메시지를 만들 때 숫자를 그대로 더하면 에러가 납니다. 예전 방식은 str()로 감싸서 해결합니다.

age = 20
print("나이는 " + str(age) + "살 입니다.")

다만 이 방식은 번거롭고 실수가 나기 쉽습니다. 그래서 다음 섹션의 f-string을 추천합니다.


5. 문자열 포매팅: f-string(가장 추천)

f-string은 “문자열 안에 변수를 자연스럽게 끼워 넣는 방식”입니다. 초보자 기준으로 가장 빠르고 실수도 적습니다.

name = "Martin"
age = 20

print(f"이름은 {name}이고, 나이는 {age}살입니다.")

{} 안에는 변수뿐 아니라 계산식도 바로 넣을 수 있습니다.

a = 10
b = 3

print(f"{a} + {b} = {a + b}")
print(f"{a} / {b} = {a / b}")

6. 실습: “초간단 계산기” 만들기

6-1. 정수 버전(입력 → int 변환 → 사칙연산 출력)

아래 코드를 Colab 코드 셀에 그대로 붙여 넣고 실행해보시기 바랍니다. 포인트는 “입력은 문자열 → 계산 전 숫자로 변환”입니다.

# 초간단 계산기 (정수 입력)

a = input("첫 번째 숫자(정수)를 입력하세요: ")
b = input("두 번째 숫자(정수)를 입력하세요: ")

a = int(a)
b = int(b)

print(f"{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} * {b} = {a * b}")
print(f"{a} / {b} = {a / b}")


체크 포인트

  • input() 결과는 문자열이므로 int() 변환이 없으면 덧셈이 아닌 “문자열 결합”이 됩니다.
  • / 연산은 결과가 실수(float)로 나올 수 있습니다(정수로 떨어져도 float로 표현될 수 있음).
  • 나눗셈에서 b가 0이면 에러가 발생합니다. 이 부분은 아래 오류 섹션에서 다룹니다.

6-2. 실수 버전(float(input(...))로 한 줄 처리)

실수까지 받으려면 float로 변환하면 됩니다. 아래처럼 “입력과 동시에 변환”하면 코드가 더 깔끔해집니다.

# 실수 입력 계산기

a = float(input("첫 번째 숫자(실수 가능): "))
b = float(input("두 번째 숫자(실수 가능): "))

print(f"{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} * {b} = {a * b}")
print(f"{a} / {b} = {a / b}")

정수/실수 중 어떤 것을 받아야 하는지는 “문제 요구사항”에 따라 결정하시면 됩니다. 입문 단계에서는 실수(float)로 통일하는 편이 실용적인 경우도 많습니다.


7. 자주 터지는 오류와 해결법

7-1. ValueError: invalid literal for int()

원인은 간단합니다. int()로 바꿀 수 없는 값을 넣었기 때문입니다(예: 10.5, abc).

  • 실수를 허용할 거라면 int() 대신 float()를 사용합니다.
  • 입력 안내 문구를 더 명확히 써서 사용자가 무엇을 입력해야 하는지 분명히 합니다.

7-2. ZeroDivisionError: division by zero

두 번째 숫자에 0을 넣고 나누기를 하면 발생합니다. 초보자 기준의 최소 처리 방법은 “0이면 나누기 하지 않기”입니다.

b = int(input("두 번째 숫자: "))

if b == 0:
    print("0으로 나눌 수 없습니다.")
else:
    print(10 / b)

조건문(if)은 다음 회차에서 더 본격적으로 다루면 됩니다. 오늘은 “0이면 나누지 않는다” 정도의 감각만 잡으셔도 충분합니다.


8. 따라하기: 오늘 실습 루틴(Colab 기준)

  1. Colab에서 새 노트북을 만들고 이름을 바꾸기

    상단의 파일명을 클릭해 01_변수_자료형_출력.ipynb처럼 규칙 있는 이름으로 바꿉니다. 학습이 쌓일수록 이 습관이 큰 차이를 만듭니다.

  2. 코드 셀에 “변수 → 출력”을 먼저 실행

    x = 10처럼 간단한 변수를 만든 뒤 print(x)로 출력해보면서 “대입” 감각을 잡습니다. 실행 결과가 예상과 다르면 type()로 자료형을 확인합니다.

  3. 자료형 4종을 직접 만들어 type()로 확인

    int/float/str/bool/None을 각각 만들고 type() 결과를 확인합니다. 이 과정이 “문자열 결합 vs 숫자 덧셈” 혼란을 줄여줍니다.

  4. 정수 계산기 → 실수 계산기로 확장

    먼저 정수 버전으로 input()과 int()의 관계를 이해한 뒤, float(input())로 실수까지 처리해봅니다. 출력은 f-string으로 통일합니다.

  5. 에러를 일부러 한 번 발생시켜 보기

    일부러 0으로 나누거나, 숫자 대신 문자를 넣어 에러를 확인해보면 “에러 메시지가 무엇을 말하는지” 감이 빠르게 잡힙니다.

9. 과제(10분이면 충분)

  1. Colab 노트북 이름을 01_변수_자료형_출력.ipynb로 바꾸고, Drive에 저장되는지 확인합니다.
  2. 계산기 코드에 //(몫), %(나머지) 출력도 추가해봅니다.
  3. type()을 활용해 변환 전/후 자료형을 출력해 “문자열 → 숫자”가 제대로 되었는지 확인합니다.

추가로 생각해볼 점

  • 실습이 익숙해지면 “입력값 검증(숫자인지 확인)”을 해보는 것이 다음 단계입니다. 초보 단계에서는 try/except로 확장하는 흐름이 자연스럽습니다.
  • 다음 회차에서 조건문(if)을 배우면, 계산기를 “연산자 선택형(+, -, *, / 중 선택)”으로 확장할 수 있습니다. 실제로 작은 프로그램처럼 동작하기 시작합니다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

Reactions

댓글 쓰기

0 댓글