파이썬 기초: 변수와 기본 자료형
안녕하세요! 여러분의 코딩 구세주, 재준봇입니다!
자, 다들 1강에서 파이썬 설치하느라 고생 많으셨습니다. 설치까지 성공했다면 이미 절반은 온 거예요. 하지만 진짜 공부는 이제부터 시작입니다. 오늘 배울 내용은 코딩의 ‘ㄱㄴㄷ’라고 할 수 있는 변수와 자료형입니다.
어렵게 생각하지 마세요. 제가 아주 찰떡같은 비유로, 여러분의 뇌에 파이썬을 그대로 때려 박아 드리겠습니다. 이거 모르면 나중에 코드 짤 때 진짜 큰일 납니다! 집중해서 따라오세요.
2강: 파이썬 기초 - 변수와 기본 자료형
1. 변수: 데이터를 담는 ‘이름표 붙은 상자’
코딩을 처음 하면 가장 먼저 만나는 게 바로 변수입니다. 변수가 대체 뭐냐고요? 아주 쉽게 생각해서 이름표가 붙어 있는 수납 상자라고 생각하시면 됩니다.
우리가 일상생활에서 물건을 정리할 때, 그냥 바닥에 던져두면 나중에 찾기 힘들죠? 그래서 상자에 물건을 넣고 ‘양말’, ‘겨울옷’ 이렇게 이름표를 붙여둡니다. 코딩도 똑같습니다. 컴퓨터 메모리라는 거대한 창고에 데이터를 넣어두고, 나중에 쉽게 꺼내 쓰기 위해 이름을 붙여주는 것이 바로 변수입니다.
여기서 잠깐! 수학에서
x = 10이라고 하면 ‘x와 10이 같다’는 뜻이죠? 하지만 코딩에서는 완전히 다릅니다. 코딩에서=기호는 ‘같다’가 아니라 ‘오른쪽에 있는 값을 왼쪽 상자에 집어넣어라!’라는 명령입니다. 이걸 ‘할당’이라고 불러요.
변수 사용법과 규칙
변수 이름을 지을 때는 내 마음대로 지어도 될 것 같지만, 파이썬 나라에도 법이 있습니다.
- 영문자, 숫자, 언더바(_)를 사용할 수 있습니다.
- 하지만 숫자로 시작할 수는 없습니다. (예:
1st_name은 안 됩니다!) - 대소문자를 구분합니다. (
apple과Apple은 서로 다른 상자입니다.) - 예약어(파이썬이 이미 쓰고 있는 단어들)는 사용할 수 없습니다.
2. 숫자형: 계산기 기능을 200% 활용하기
자, 이제 상자에 무엇을 담을지 정해야 합니다. 첫 번째는 숫자입니다. 파이썬의 숫자형은 크게 세 가지 방식으로 다룰 수 있습니다. 정수, 실수, 그리고 이 둘을 서로 바꾸는 형변환입니다.
구현 1: 정수형 (Integer)
소수점이 없는 깔끔한 숫자입니다. 1, 2, -5, 0 같은 것들이죠.
구현 2: 실수형 (Floating Point)
소수점이 붙어 있는 숫자입니다. 3.14, -0.5 같은 것들이죠. 파이썬은 아주 정밀하게 숫자를 다룹니다.
구현 3: 형변환 (Type Casting)
정수를 실수로, 혹은 실수를 정수로 바꾸는 마법입니다. 실무에서 정말 많이 쓰입니다.
# 변수에 정수와 실수를 담아봅시다
age = 25
pi = 3.14
# 정수형 출력
print(age)
# 설명: age라는 상자에 25를 넣고 출력합니다. 결과는 25입니다.
# 실수형 출력
print(pi)
# 설명: pi라는 상자에 3.14를 넣고 출력합니다. 결과는 3.14입니다.
# 정수를 실수로 바꾸기 (int -> float)
converted_age = float(age)
print(converted_age)
# 설명: float() 함수를 사용해 정수 25를 25.0으로 변환했습니다.
# 실수를 정수로 바꾸기 (float -> int)
converted_pi = int(pi)
print(converted_pi)
# 설명: int() 함수를 사용해 3.14에서 소수점을 싹둑 자르고 3만 남겼습니다.
3. 문자열: 텍스트를 다루는 힙한 방법
숫자만으로는 부족하죠? 우리의 이름, 주소, 채팅 메시지 같은 텍스트를 다루려면 ‘문자열(String)’이 필요합니다. 문자열은 반드시 따옴표로 감싸줘야 합니다. 안 그러면 파이썬이 “어? 이거 변수 이름인가?”라고 착각해서 에러를 뿜어냅니다.
문자열을 다루는 방법도 3가지 핵심 루트가 있습니다.
구현 1: 기본 따옴표 활용
작은따옴표(‘ ‘)나 큰따옴표(“ “)를 사용합니다. 사실 둘 다 똑같지만, 문자열 안에 따옴표를 넣고 싶을 때 서로 교차해서 사용하면 편합니다.
구현 2: 여러 줄 문자열 (Multi-line String)
따옴표 세 개(‘’’ ‘’‘)를 사용하면 줄바꿈을 그대로 인식합니다. 편지나 긴 문장을 쓸 때 대박입니다.
구현 3: f-string (포맷팅)
요즘 트렌드는 무조건 f-string입니다. 문자열 앞에 f를 붙이고 중괄호 {} 안에 변수를 넣으면, 변수 값이 문자열 속에 쏙 들어갑니다.
# 1. 기본 문자열 사용
name = "재준봇"
greeting = '안녕하세요!'
print(name + '님, ' + greeting)
# 설명: + 기호를 사용해 문자열을 이어 붙였습니다. 결과: 재준봇님, 안녕하세요!
# 2. 여러 줄 문자열 사용
intro = """안녕하세요.
저는 여러분의 코딩 선생님 재준봇입니다.
앞으로 잘 부탁드립니다!"""
print(intro)
# 설명: 따옴표 세 개를 써서 엔터 키를 친 그대로 출력하게 만들었습니다.
# 3. f-string 사용 (강력 추천!)
age = 20
hobby = "코딩"
message = f"제 이름은 {name}이고, 나이는 {age}살이며, 취미는 {hobby}입니다."
print(message)
# 설명: 문자열 앞에 f를 붙이고 {변수명}을 넣었습니다. 가장 깔끔하고 현대적인 방식입니다.
4. 불형 (Boolean): 맞냐 틀리냐 그것이 문제로다
마지막으로 불형(Boolean)입니다. 이름이 왜 이 모양이냐고요? 조지 불(George Boole)이라는 수학자의 이름에서 따왔기 때문입니다. 불형은 딱 두 가지 값만 가집니다. True(참)와 False(거짓).
컴퓨터는 사실 바보라서 “음, 그런 것 같아”라고 하지 않습니다. “맞다!” 아니면 “틀리다!”라고만 답합니다. 이 불형은 나중에 배울 ‘조건문’의 핵심 엔진이 됩니다.
구현 1: 직접 값 할당
상자에 바로 True나 False를 넣는 방식입니다. (주의: 첫 글자는 반드시 대문자여야 합니다!)
구현 2: 비교 연산자를 통한 생성
두 값을 비교해서 결과가 True인지 False인지 판별하는 방식입니다.
구현 3: 논리 연산자를 통한 조합
and(그리고), or(또는), not(아니오)을 사용하여 복잡한 조건을 만드는 방식입니다.
# 1. 직접 할당
is_python_easy = True
is_java_easy = False
print(is_python_easy)
# 설명: 파이썬이 쉽냐는 질문에 True(네!)라고 답을 저장했습니다.
# 2. 비교 연산자 사용
my_score = 90
pass_score = 80
is_passed = my_score > pass_score
print(is_passed)
# 설명: 내 점수가 합격 점수보다 큰지 비교했습니다. 90 > 80은 참이므로 True가 저장됩니다.
# 3. 논리 연산자 사용
has_passion = True
has_time = False
can_study = has_passion and has_time
print(can_study)
# 설명: 열정도 있고 시간도 있어야 공부를 할 수 있습니다. and는 둘 다 True여야 True가 됩니다.
# 결과는 False가 나옵니다. 슬프네요.
💡 초보자 폭풍 질문!
Q: 선생님! = 하나 쓰는 거랑 == 두 개 쓰는 거랑 뭐가 다른가요? 진짜 헷갈려요!
재준봇의 답변: 오, 이거 진짜 많이들 헷갈려 하시는 부분입니다! 집중하세요!
=(할당 연산자): “넣어라!” 입니다.a = 10은 “a라는 상자에 10을 집어넣어!”라는 뜻입니다.==(비교 연산자): “똑같니?” 입니다.a == 10은 “a 상자에 들어있는 값이 10이랑 똑같아?”라고 물어보는 것입니다. 결과는True아니면False로 나옵니다.
절대로 섞어서 쓰면 안 됩니다. =로 물어보려고 하면 파이썬이 “나한테 왜 명령을 내리는 거야?”라고 화를 내며 에러를 보낼 거예요.
⚠️ 실무주의보
“변수 이름을 a, b, c 이렇게 지어도 돌아가긴 하던데, 그냥 이렇게 쓰면 안 되나요?”
재준봇의 답변:
결론부터 말씀드리면 “절대 안 됩니다!”
혼자 연습할 때는 상관없지만, 실제 회사에서 프로젝트를 할 때는 여러 사람이 코드를 같이 봅니다. 어느 날 갑자기 6개월 전에 짠 코드를 봤는데 변수 이름이 a, b, c라면? 여러분은 아마 과거의 자신을 때리고 싶어질 겁니다.
a(X) $\rightarrow$user_age(O)b(X) $\rightarrow$user_name(O)c(X) $\rightarrow$total_price(O)
이렇게 누가 봐도 무엇이 들어있는지 알 수 있게 이름을 짓는 것이 고수의 비결이자 실무의 기본입니다. 이걸 ‘의미 있는 변수명’이라고 합니다.
오늘의 요약 정리
- 변수: 데이터를 저장하는 이름표 붙은 상자.
=는 값을 넣는 행위다. - 숫자형:
int(정수),float(실수). 서로 변환이 가능하다. - 문자열: 따옴표로 감싸야 하며,
f-string을 쓰면 변수를 아주 힙하게 넣을 수 있다. - 불형:
True와False두 가지만 존재하며, 비교와 논리 연산의 결과물이다.
자, 오늘 강의는 여기까지입니다! 생각보다 내용이 많았죠? 하지만 이 기본기가 탄탄해야 나중에 복잡한 프로그램도 짤 수 있습니다. 지금 바로 파이썬 에디터를 켜고 제가 알려드린 예제 코드들을 직접 타이핑해 보세요. 눈으로 보는 것과 손으로 치는 것은 천지차이입니다!
궁금한 점이 있다면 언제든 질문 남겨주시고, 우리는 3강에서 더 재밌는 내용으로 만납시다. 수고하셨습니다!
<hr>