| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- Windows11
- python
- 안드로이드
- 비주얼베이직
- python3
- Outlook
- windows
- 파이썬
- office
- html
- 아웃룩
- 파워포인트
- Excel
- Android
- Windows10
- git
- 엑셀
- 파이썬3
- 파이썬GUI
- VBA
- 깃
- 오피스
- pandas
- pyqt5
- 문자열
- matlab
- win32com
- 윈도우10
- pythongui
- 윈도우11
Appia의 IT세상
파이썬[Python] 002 변수(Variable), 데이터타입(DataTypes) 본문
오늘은 두 번째 시간으로 변수(Variable)와 데이터타입(DataTypes)에 대해서 살펴보도록 하겠습니다.
변수(Variable)
변수는 "변하는 수"라는 뜻으로, 값을 저장하는 공간에 붙이는 이름입니다. 상자에 이름표를 붙이는 것과 같다고 생각하시면 됩니다. 예를 들어 구슬 10개를 담은 상자에 "구슬상자"라고 이름을 붙이면, 나중에 그 이름만으로 상자를 찾아 내용물을 꺼내거나 바꿀 수 있습니다. 파이썬의 변수도 마찬가지입니다.
C언어에 익숙한 분들은 타입 선언을 안 하냐고 의아해하실 수 있습니다. 파이썬에서는 값을 대입할 때 파이썬이 자동으로 타입을 결정합니다. 또한 = 연산자는 수학의 등호가 아니라 오른쪽 값을 왼쪽 변수에 대입하는 연산자입니다.
bookprice = 10000
percentage = 90.5
name = "Appia"
print(bookprice, percentage, name)
# 출력: 10000 90.5 Appia
변수 네이밍 규칙
- 영문자, 숫자, 언더스코어(_)만 사용 가능합니다.
- 숫자로 시작할 수 없습니다. (
1num→ 오류,num1→ 정상) - 대소문자를 구별합니다. (
myVar와myvar는 서로 다른 변수) if,for,while등 파이썬 예약어는 변수명으로 쓸 수 없습니다.
다중 할당
파이썬에서는 여러 변수를 동시에 할당하거나, 같은 값을 여러 변수에 한꺼번에 대입할 수 있습니다.
# 같은 값 다중 대입
a = b = c = 0
print(id(a), id(b), id(c))
# 세 변수 모두 같은 메모리 주소를 가리킵니다
# 각각 다른 값 한 줄로 대입
x, y, z = 1, 2, 3
print(x, y, z)
# 출력: 1 2 3
# 두 변수 값 교환 (swap)
x, y = y, x
print(x, y)
# 출력: 2 1
데이터타입(DataTypes)
파이썬에서 기본적으로 제공하는 데이터 타입은 크게 6가지입니다.
- Numbers — 숫자 (int, float, complex)
- String — 문자열
- List — 순서 있는 수정 가능한 컬렉션
- Tuple — 순서 있는 수정 불가능한 컬렉션
- Set — 중복 없는 집합
- Dictionary — Key-Value 쌍 컬렉션
Numbers (숫자)
숫자 타입은 세 가지로 나뉩니다. type() 함수로 타입을 확인할 수 있습니다.
int: 정수 (예: 10, -5, 0)float: 실수 (예: 3.14, -0.5)complex: 복소수 (예: 1+2j)
a = 10 # int
b = 3.14 # float
c = 1 + 2j # complex
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>
# 타입 변환(Type Casting)
print(int(3.9)) # 3 (소수점 버림)
print(float(5)) # 5.0
print(str(100)) # '100'
String (문자열)
작은따옴표(') 또는 큰따옴표(")로 감쌉니다. 문자열은 인덱스로 접근하거나 슬라이싱으로 일부를 잘라낼 수 있습니다.
s = "welcome to appia"
print(s[0]) # w
print(s[2:7]) # lcome
print(s[-2:]) # ia
print(s.upper()) # WELCOME TO APPIA
print(s.replace("appia", "python")) # welcome to python
print(len(s)) # 16
print(s.split(" ")) # ['welcome', 'to', 'appia']
List (리스트)
가장 많이 사용되는 타입입니다. 서로 다른 타입을 함께 담을 수 있고, 요소를 추가·삭제·수정할 수 있습니다.
lst = ['appia', 1, 3.14, True]
print(lst[0]) # appia
print(lst[1:3]) # [1, 3.14]
lst.append(99) # 끝에 추가
lst.insert(1, 'new') # 인덱스 1에 삽입
lst.remove(1) # 값으로 제거
print(len(lst)) # 요소 개수
print(sorted([3,1,2])) # [1, 2, 3]
Tuple (튜플)
리스트와 유사하지만 한번 만들면 수정이 불가능(immutable)합니다. 변경되어서는 안 되는 상수 데이터나 함수의 반환값 등에 자주 씁니다.
t = ('appia', 1, 3.14)
print(t[0]) # appia
print(t[1:]) # (1, 3.14)
# t[0] = 'test' → TypeError 발생 (수정 불가)
Set (집합)
중복이 자동으로 제거되며 순서가 없는 컬렉션입니다. 교집합·합집합·차집합 연산에 특화되어 있습니다.
s1 = {1, 2, 3, 3, 2}
s2 = {3, 4, 5}
print(s1) # {1, 2, 3} — 중복 제거
print(s1 & s2) # {3} — 교집합
print(s1 | s2) # {1, 2, 3, 4, 5} — 합집합
print(s1 - s2) # {1, 2} — 차집합
Dictionary (딕셔너리)
Key-Value 쌍으로 데이터를 저장합니다. JSON 구조와 유사해 API 응답 데이터를 다룰 때 매우 자주 사용합니다.
d = {'name': 'Appia', 'city': 'Seoul', 'dept': 'sales'}
print(d['name']) # Appia
print(d.keys()) # dict_keys(['name', 'city', 'dept'])
print(d.values()) # dict_values(['Appia', 'Seoul', 'sales'])
d['age'] = 30 # 새 키 추가
print(d.get('email', '없음')) # 키 없으면 기본값 반환
del d['dept'] # 키 삭제
정리
오늘은 파이썬의 변수 개념과 6가지 기본 데이터 타입(Numbers, String, List, Tuple, Set, Dictionary)을 살펴보았습니다. 각 타입별로 더 깊은 내용은 이후 포스팅에서 자세히 다룰 예정입니다. 궁금한 점은 댓글이나 방명록에 남겨주세요!
'Python > Python 기본' 카테고리의 다른 글
| 파이썬[Python] 006 리스트(List) (0) | 2019.12.23 |
|---|---|
| 파이썬[Python] 005 문자열(String) (0) | 2019.12.22 |
| 파이썬[Python] 004 분기문(조건문), 반복문 (0) | 2019.12.21 |
| 파이썬[Python] 003 기본 연산자, 형변환(Type casting)방법 (0) | 2019.12.20 |
| 파이썬[Python] 001 배우는 이유, 설치하기, 기본 문법 (3) | 2019.12.18 |