Week1-Day1

Eden.Yang·2025년 3월 12일

MES

목록 보기
2/9

1주차 월요일은 파이썬의 기본 문법입니다.

변수의 타입

파이썬에서는 변수선언시 자료형(type)을 따로 명시하지 않고, 값을 할당(=연산자)하면 자동으로 변수가 생성됩니다.

x = 10   # 정수형 (int)
y = 3.14 # 실수형 (float)
name = "Python" # 문자열 (str)
is_valid = True # 논리형 (bool)

여러개의 변수 선언

파이썬에서는 동시에 여러 개의 변수를 선언&할당할 수도 있고, 여러 개의 변수에 같은 값을 동시에 선언&할당할 수도 있습니다.

a, b, c = 1, 2, 3
print(a, b, c) # 1 2 3

x = y = z = 100
print(x, y, z) # 100 100 100

변수의 자료형 확인

type() 함수를 사용하면 자료형을 확인할 수 있습니다.

x = 10
print(type(x))  # <class 'int'>

y = 3.14
print(type(y))  # <class 'float'>

name = "Hello"
print(type(name))  # <class 'str'>

is_valid = True
print(type(is_valid))  # <class 'bool'>

변수 이름 규칙

파이썬의 변수 이름에는 다음과 같은 규칙이 있습니다.

✅ 사용 가능한 경우

  • 영문자(a-z, A-Z), 숫자(0-9), 밑줄(_) 사용 가능

  • 변수 이름은 숫자로 시작할 수 없음

  • 대소문자를 구별함 (age와 Age는 다른 변수)

❌ 사용 불가능한 경우

  • 숫자로 시작하는 변수 (1st_var ❌)

  • 파이썬의 예약어(if, for, while, def, class 등)

  • 특수 문자(@, #, $, % 등)

변수와 메모리 주소(id())

변수가 저장된 메모리 주소를 확인하려면 id() 함수를 사용합니다.

a = 10
b = a
print(id(a), id(b))  # 같은 메모리 주소 (값을 공유)

b = 20
print(id(a), id(b))  # 다른 메모리 주소 (새로운 값 할당)

변수의 동적 할당

파이썬에서는 한 변수에 다른 자료형의 값을 할당할 수 있습니다. 이를 동적 타이핑이라고 부릅니다.

x = 10      # 정수형
x = "Hello" # 문자열 (자료형 변경)
print(x)  # Hello

전역변수와 지역변수

지역변수

함수 내에서 선언된 변수는 지역 변수이며, 함수 밖에서는 사용할 수 없습니다.

def my_function():
    local_var = "I'm local"
    print(local_var)

my_function()
# print(local_var)  # 오류 발생 (함수 밖에서 사용 불가능)

전역변수

함수 바깥에서 선언된 변수는 전역 변수이며, 함수 내에서도 사용 가능합니다.

global_var = "I'm global"

def my_function():
    print(global_var)  # 전역 변수 사용 가능

my_function()  # I'm global

global 키워드

함수 안에서 전역 변수 값을 변경하려면 global 키워드를 사용해야 합니다.

x = 10

def change_x():
    global x
    x = 20  # 전역 변수 값 변경

change_x()
print(x)  # 20

del을 이용한 변수삭제

변수를 삭제하려면 del 키워드를 사용합니다.

a = 100
del a  # 변수 삭제
# print(a)  # 오류 발생 (삭제된 변수 접근 불가)

변수 언패킹(Unpacking)

여러개의 값을 한번에 변수에 할당하는 방법입니다.

data = (1, 2, 3)
x, y, z = data
print(x, y, z)  # 1 2 3

1. 리스트(list)와 딕셔너리(dict)

(1) 리스트 (list)

리스트는 여러 개의 값을 순서대로 저장하는 가변(Mutable) 자료형입니다.

✅ 특징

  • 순서(인덱스) 기반으로 값 저장 (0부터 시작하는 인덱스 사용)

  • 중복된 값 허용

  • 가변형(Mutable): 리스트 내부 요소를 변경할 수 있음

  • 다양한 데이터 타입 혼합 가능

# 리스트 생성
my_list = [1, 2, 3, "hello", 5.5]  
print(my_list)  # [1, 2, 3, 'hello', 5.5]

# 요소 접근 (인덱싱)
print(my_list[0])  # 1
print(my_list[-1])  # 5.5 (마지막 요소)

# 리스트 요소 변경 (mutable)
my_list[1] = 100
print(my_list)  # [1, 100, 3, 'hello', 5.5]

# 리스트 길이 확인
print(len(my_list))  # 5

✅ 리스트 주요 메서드

my_list.append(6)  # 리스트 끝에 요소 추가
my_list.insert(2, "Python")  # 특정 위치(2번 인덱스)에 값 삽입
my_list.remove(100)  # 특정 값 제거
print(my_list.pop())  # 마지막 요소 꺼내기 (리스트에서 삭제)

(2) 딕셔너리 (dict)

딕셔너리는 키(key)와 값(value) 쌍으로 데이터를 저장하는 자료형입니다.

✅ 특징

  • 키(Key) 기반으로 데이터 저장
  • 순서 유지 (Python 3.7부터)
  • 키(Key)는 중복될 수 없음 (같은 키를 다시 지정하면 기존 값이 덮어써짐)
  • 가변형(Mutable): 내부 값 변경 가능
    딕셔너리의 키(Key)는 불변(Immutable) 객체만 가능 (숫자, 문자열, 튜플 가능 / 리스트, 딕셔너리 불가능)
# 딕셔너리 생성
my_dict = {"name": "Alice", "age": 25, "city": "Seoul"}

# 요소 접근
print(my_dict["name"])  # Alice
print(my_dict.get("age"))  # 25 (키가 없을 경우 None 반환)

# 값 변경
my_dict["age"] = 30
print(my_dict)  # {'name': 'Alice', 'age': 30, 'city': 'Seoul'}

# 새 키-값 추가
my_dict["job"] = "Engineer"

# 딕셔너리 길이 확인
print(len(my_dict))  # 4

✅ 딕셔너리 주요 메서드

print(my_dict.keys())  # 키 목록 반환
print(my_dict.values())  # 값 목록 반환
print(my_dict.items())  # (키, 값) 튜플 리스트 반환

# 특정 키 삭제
del my_dict["city"]

# 모든 요소 제거
my_dict.clear()
profile
손끝에서 땅끝으로, 골방에서 열방으로

0개의 댓글