본문 바로가기
카테고리 없음

자료구조 2주차 정리 - 자료형, 제어문, 함수, 클래스

by studyforever-1 2025. 6. 22.

1. 파이썬의 자료형과 제어구조

 (1) 파이썬의 특징

  • 1991년 귀도 반 로섬이 개발
  • AI, 데이터 분석, 자동화 분야에서 가장 인기 있는 언어
  • 간결하고 직관적
  • 인터프리터 언어로 즉시 실행 가능
  • 다양한 IDE 지원: IDLE, PyCharm, VS Code 등

 (2) 파이썬 자료현 정리

범주 자료형 리터럴 예시
수치형 int 10, -30
float 3.14, -0.45
complex 10+2j
논리형 bool True, False
시퀀스형 str "study", 'A'
list [1, 2, 3]
tuple (1, 2, 3)
매핑형 dict {1: "one"}
집합형 set {1, 2, 3}

 

문제 예시 : 시퀀스형만을 묶은 문제에서 정답 : 문자열, 리스트, 튜플

 

 (3) 변수와 객체

  • 파이썬의 모든 값은 객체(object)
  • 변수는 객체를 참조하는 포인터 역할
  • 자바처럼 메모리 해제는 하지 않아도 됨 → 덮어쓰기 자동 처리됨

 (4) 연산자 정리

  • /: 나누기 (실수)
  • //: 정수 나누기
  • **: 제곱
  • and, or, not: 논리 연산자
  • in, not in: 포함 여부 검사

 (5) 제어구조

  • 조건문: if, elif, else
  • 반복문: for, while, range()

 

2. 파이썬 컬렉션과 함수, 클래스

(1) 주요 컬렉션 자료형

 (1) - 1. 리스트(List)

 

메소드 설명
append(x) 끝에 추가
insert(i, x) i번째 위치에 삽입
remove(x) 해당 요소 삭제
pop(i) i번째 요소 꺼내고 삭제
sort() 정렬
reverse() 순서 반전
 

파이썬으로 구현 예시

s = [1, 2, 3]
s.append(4)
s.insert(1, 10)  # 인덱스 1에 삽입
s.sort()         # 정렬

 (1) - 2. 튜플(Tuple)

  • 리스트와 유사하나 불변(immutable)
  • 괄호 () 사용

예시 : t = (1, 2, 3)

 

 (1) - 3. 딕셔너리(Dictionary)

  • 키:값 구조
  • dict[key] = value
d = {"name": "studyforever-1", "age": 100}
print(d["name"])  # studyforever-1

 (1) - 4. 집합(Set)

  • 중복 허용 ❌, 순서 없음
  • 수학의 집합 개념
a = {1, 2, 3}
b = {2, 3, 4}
a.union(b)       # 합집합
a.intersection(b)# 교집합
a.difference(b)  # 차집합

 

(2) 함수 정의

  • 디폴트 인자: def add(x, y=10): ...
  • 키워드 인자: add(y=5, x=1)
  • 다중 반환도 가능
def greet(name):
    return f"Hello, {name}"

 

(3) 변수의 범위 (스코프)

 

범위 설명
내장(built-in) print(), len() 등 기본 함수
전역(global) 함수 밖에서 선언된 변수
지역(local) 함수 안에서 선언된 변수
인스턴스 클래스 내 객체 변수 (self.var)
 

(4) 클래스와 객체지향 개념

 (4) - 1. 클래스 정의와 생성자

class Car:
    def __init__(self, color):
        self.color = color

 (4) - 2. 연산자 오버로딩

class Point:
    def __init__(self, x, y):
        self.x, self.y = x, y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)

    def __str__(self):
        return f"({self.x}, {self.y})"

 

+, -, == 등 연산자를 클래스에 맞게 다시 정의 가능합니다.

 

 (5) 상속과 재정의

class Animal:
    def speak(self):
        print("sound")

class Dog(Animal):
    def speak(self):
        print("bark")
 
  • 자식 클래스는 super()로 부모 생성자 호출 가능
  • 오버라이딩(재정의)로 기능 변경 가능

 

 2주차 요약 정리표 

항목 핵심 내용 요약
파이썬 자료형 int, float, str, list, tuple, dict, set 등
컬렉션 사용법 리스트, 튜플, 집합, 딕셔너리
제어문 if, elif, else, for, while
함수 정의 기본 인자, 반환값, 스코프 구분
클래스 개념 생성자, 멤버변수, 연산자 중복, 상속, 재정의 등

 

 요약본을 토대로 복습 또는 부족한 부분을 채우면 좋을 거 같습니다.

 

 고생하셨습니다. 3주차에서 뵙겠습니다.

 

1주차 - https://study-forever.com/entry/자료구조-1주차-자료구조와-시간복잡도-총정리

 

자료구조 1주차 - 자료구조와 시간복잡도 총정리

1. 자료구조란? (1) 자료의 저장과 표현 컴퓨터에서 자료는 정수, 실수, 문자, 문자열 등의 형태로 저장됩니다. 아래는 각 자료형의 예입니다. 분류 - 예시 - 설명정수0, 1000, -100소수점 없는 수실수3

study-forever.com

3주차 - 

반응형