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주차 -
반응형