기타

[BDA x 영진닷컴] 1주차 빅분기 실기 스터디 기록

서히! 2025. 11. 9. 18:05

Part 01. Python 기초와 데이터 구조

Section 01. 변수와 연산

1) 변수 개념 이해하기

변수 = 데이터를 저장하는 컨테이너

  1. 변수 선언과 할당 → = 사용
  2. 변수 사용 → 이름을 통해서 가능
  3. 변수의 동적 타이핑 → 변수의 타입을 미리 선언 X

2) 변수명

  1. 변수명 규칙
    1. 숫자로 시작 불가능
    2. 대소문자 구분
    3. 예약어 사용 X
    4. 용도를 알 수 있게 선언
  2. 변수명 스타일
    1. 스네이크 케이스(snake_case): 단어 구분은 밑줄로
    2. 카멜 케이스(CamelCase): 각 단어의 첫글자를 대문자로

3) 연산자

  1. 기본 산술 연산자
    • / : 나눗셈, // : 몫을 정수로, % : 나머지
    • ** : 거듭제곱
  2. 비교 연산자: ==, !=, <, >, <=, >=
  3. 조건문에서 변수나 표현식의 값을 평가하는 데 유용
  4. 논리 연산자: 불리언(True/False) 값을 조작하는 데 사용
  5. and, or, not

연습문제

  1. 변수 저장 및 print()
  2. city_name = seoul age = 24 is_student = True print(city_name) print(age) print(is_student)
  3. 올바른 변수명
  4. user_name, totalPrice, number_2 (3value, if 불가능)
  5. 연산 수행 및 결과 출력
  6. image.png
  7. 조건 만족하는 코드≥, ≤ 같이 사용하는 대신 and 사용
  8. image.png

Section 02. 데이터 타입의 이해

1) Python의 데이터 타입

숫자형 변경 불가능
문자열형 변경 불가능
리스트형 변경 가능
튜플형 변경 불가능
딕셔너리형 변경 가능
집합형 변경 가능
논리형 변경 불가능

type(x): 타입 함수 ex. <class ‘int’> 출력

숫자형

int(정수), float(부동 소수점 숫자), complex(복소수)

문자형

  • 작은 따옴표 또는 큰 따옴표로 묶어서 표현
  • 세 따옴표는 여러 줄에 걸칠 때
  • +연산자를 사용해 결합하고, *를 사용해 반복 가능

리스트형

  • 순서가 있고 → 인덱싱과 슬라이싱(마지막 인덱스 포함x)이 가능
  • 수정이 가능한 컬렉션 →* ex. a[0] = 20 으로 하면 [20, 20, 30, 40, 60] 으로 변경됨
  • 리스트의 요소는 어떠한 타입의 객체도 가능
  • a = [10, 20, 30, 40, 50] print("마지막 요소: ", a[-1]) print("모든 요소 1개씩 건너뛰기: ", a[::2]) # [10, 30, 50]

튜플형

  • 한 번 생성된 후에는 수정이 불가능
  • 순서가 있으며 중복된 요소 포함 가능 → 인덱싱과 슬라이싱 가능 (리스트처럼 사용)
  • 요소가 하나만 있을 경우 요소 뒤에 쉼표를 붙여야 됨
  • a = (10, 20, 30) b = (42,)

딕셔너리형

  • 키와 값의 쌍으로 데이터를 저장 → 키를 통해 값에 접근
  • 데이터의 추가, 삭제, 수정이 자유로움
  • 인덱싱과 슬라이싱이 불가능하지만 키를 통해서 수정, 추가, 삭제가 가능
  • person = { 'name': 'John', 'age': 30, 'city': 'New York' }

집합형 (Set) → 튜플과 반대

  • 순서가 없고 중복된 요소를 허용 X
  • 변경 가능, {}이나 set()을 통해 생성 가능

🌟

자료구조 정리

list tuple Dictionary set
list = [1, 2, 3]      
list() tuple = (1, 2, 3)    
tuple() dict = {’han’:123, ‘kim’:456} set = {1, 2, 3}  
set()      
중복 O, 순서 O 속도가 빠른 list    
수정 X, 삭제 X 키 중복 X 중복 X, 순서 X  
       

논리형

  • True → 1로, False → 0으로 처리
  • 논리 연산자와 같이 사용되기도 함 (and, or)

2) 데이터 타입 변환

  • str() : 문자열 변환
  • int(), float() : 숫자 변환
  • list(), tuple()
  • set()
  • bool() ex. bool(’False’) → True, bool(7) → True

❗딕셔너리로 직접 변환은 X

🌟

메서드

  • 문자열
    • upper(), lower()
    • replace(old, new): old를 찾아 new로 대체
    • split(set=None): sep로 문자열을 분할하여 리스트로 반환
    • join(iterable): 하나로 합침
    • strip(), lstrip(), rstrip(): 공백 또는 특정 문자 제거
    • find(sub): sub을 찾아 인덱스를 반환
    • count(sub): sub가 문자열 내에 몇 번 등장하는지 횟수 반환
  • 리스트
    • append(item)
    • insert(index, item): 지정한 인덱스 위치에 요소를 삽입
    • extend(iterable)
    • remove(item)
    • pop()
    • index(item): 인덱스 반환
    • count(item): 리스트 안에 item이 몇 개 틀어있는지
    • sort(reverse=False)
    • reverse()
    • copy()
  • 튜플
    • count(item): item이 등장하는 횟수
    • index(item): item의 인덱스 반환, 없으면 오류 발생
  • 딕셔너리
    • get(key)
    • keys()
    • values()
    • items(): (키, 값) 쌍을 튜플 형태로 모두 반환
    • pop(key): 키에 해당하는 값을 꺼내서 삭제
    • popitem(): (키, 값)쌍을 꺼내서 딕셔너리에서 삭제
  • 집합
    • add(element)
    • remove(element) → 요소가 없으면 KeyError 발생
    • discard(element) → 요소가 없어도 됨
    • pop()
    • union(other), intersection(other), difference(other)