PYTHON(1)

chiwon·2025년 8월 3일

🐍 파이썬 기초 문법

📘 Python 개요

🔍 배우는 이유

  • 문법이 쉽고 직관적이다
  • 커뮤니티와 자료가 풍부하다
  • 데이터 분석, 인공지능, 머신러닝, 자동화 등 분야에 특화되어 있다

📊 데이터 분석 활용

  • 풍부한 라이브러리 (pandas, matplotlib, seaborn 등)
  • 데이터 전처리 및 시각화 가능
  • 머신러닝, 딥러닝 프레임워크 지원

💡 알고리즘에 유리한 이유

  • 직관적인 문법
  • 강력한 표준 라이브러리
  • 빠른 프로토타이핑 가능

⚠️ Jupyter, Colab에서 RUN 버튼 남발 금지! 셀 실행 시 주의!


🔧 메서드란?

  • 객체에 속한 함수 (ex. 문자열.upper())
  • 객체의 상태를 조작하거나 반환값을 제공함
'hello'.capitalize()  # 'Hello'

📚 시퀀스 자료형 (Sequence Types)

  • 순서를 가진 데이터
  • 인덱싱 / 슬라이싱 가능
  • 반복 가능
  • str, list, tuple, range

🔤 문자열 (str)

✅ f-string

name = "Alice"
print(f"Hello, {name}!")

✅ 인덱싱 & 슬라이싱

text = "Python"
print(text[2:4])     # 'th'
print(text[::-1])    # 'nohtyP'
print(text[0:5:2])   # 'Pto'

✅ 문자열 메서드

  • replace(old, new[, count])
  • strip([chars])
  • split(sep, maxsplit)
  • '구분자'.join(iterable)

📋 리스트 (list)

  • 변경 가능, 순서 있음, 다양한 타입 저장 가능
L = [1, 2, 3]
L.append(4)
L.extend([5, 6])
L.pop()
L.reverse()
L.sort()

🔒 튜플 (tuple)

  • 변경 불가능한 리스트
  • 내부 로직, 함수 반환 등에서 자주 사용
t = (1, 2, 3)

🎯 range

  • 숫자 시퀀스 생성기
list(range(1, 10, 2))  # [1, 3, 5, 7, 9]

🧩 딕셔너리 (dict)

  • key-value 쌍
  • key는 변경 불가한 자료형만 가능
d = {'name': 'Alice', 'age': 25}
d.get('name')
d.keys()
d.values()
d.items()
d.pop('age', None)

🧺 집합 (set)

  • 순서 없음, 중복 없음
s = set([1, 2, 3])
s.add(4)
s.remove(1)
s1 | s2  # 합집합
s1 & s2  # 교집합
s1 - s2  # 차집합

🔄 복사

얕은 복사

a = [1, [2, 3]]
b = a[:]
b[1][0] = 999
print(a)  # 내부 리스트는 공유됨

깊은 복사

import copy
a = [1, [2, 3]]
b = copy.deepcopy(a)

🔢 형변환

print(3 + 5.0)         # 8.0
print(True + 2)        # 3
print(int("10"))       # 10

➕ 연산자

  • +, -, *, /, //, %, **
  • ==, !=, is, is not
  • and, or, not
  • in, not in

🔁 제어문

조건문

if condition:
    pass
elif another:
    pass
else:
    pass

반복문

for i in range(5):
    print(i)

while True:
    break

🧠 리스트 컴프리헨션

squares = [x**2 for x in range(5)]

🧪 함수

def greet(name):
    return f"Hello, {name}"

greet("Alice")
  • *args, **kwargs 사용 가능
  • lambda 함수도 가능

🧳 Packing & Unpacking

def func(*args, **kwargs):
    print(args)
    print(kwargs)

🔧 내장 함수

  • len(), max(), min(), sum(), sorted()
  • map(), zip(), enumerate()

⚙️ 람다 표현식

add = lambda x, y: x + y
print(add(2, 3))  # 5

📐 LEGB Rule

  • Local → Enclosed → Global → Built-in
  • 내부 함수에서 외부 변수를 바꾸고 싶을 땐 nonlocal, global 필요

0개의 댓글