파이썬은 이제 더 이상 2.7 시절의 언어가 아닙니다. 여전히 2010년 스타일로 코딩하고 있다면, 파이썬이 가진 강력함을 놓치고 있는 셈이에요. 이 글에서는 지금 당장 여러분의 파이썬 프로젝트를 현대적으로 바꿔주는 모던 코드 스타일 10가지를 소개합니다.
1. with 문 안 쓰면 아직도 옛날 사람
🧓 옛날식 파일 열기
f = open("report.txt", "r")
data = f.read()
f.close()
🚀 이제는 with가 기본입니다
with open("report.txt", "r") as f:
data = f.read()
자동으로 파일 닫아주고, 예외 발생 시에도 안전한 코드가 됩니다.
2. set으로 중복 제거는 필수 기본기
🧓 리스트 중복 제거 수동으로?
numbers = [1, 1, 2, 2, 3, 3]
unique = []
for n in numbers:
if n not in unique:
unique.append(n)
🚀 한 줄이면 끝!
unique = list(set(numbers))
이제 set과 dict를 적극적으로 활용해보세요. 시간도 코드도 절약됩니다.
3. @dataclass는 인생을 바꿉니다
🧓 불필요한 __init__ 작성 중?
class Post:
def __init__(self, title, likes):
self.title = title
self.likes = likes
🚀 이렇게 간결하게 써보세요
from dataclasses import dataclass
@dataclass
class Post:
title: str
likes: int
불필요한 반복 코드는 이제 안녕!
4. pathlib로 파일 경로도 객체처럼 다루자
🧓 os.path는 이제 그만
import os
path = os.path.join("logs", "today.log")
🚀 이게 훨씬 직관적이죠
from pathlib import Path
path = Path("logs")/ "today.log"
파일 시스템도 객체지향으로 다뤄야 진짜 파이썬답습니다.
5. Counter로 빈도 수 세는 건 국룰
🧓 수동으로 카운트하는 시절 끝!
votes = ["A", "B", "A"]
result = {}
for v in votes:
result[v] = result.get(v, 0) + 1
🚀 이제는 이게 기본
from collections import Counter
votes = ["A", "B", "A"]
result = Counter(votes)
깔끔하고 정확한 결과를 더 빠르게 만들 수 있어요.
6. asyncio 안 쓰고 멀티스레딩 하시나요?
🧓 threading은 관리하기 힘들어요
import threading
def work(): print("작업 중")
t = threading.Thread(target=work)
t.start()
t.join()
🚀 비동기의 시대는 asyncio입니다
import asyncio
async def work():
print("작업 중")
asyncio.run(work())
웹, 크롤링, I/O 작업에 강력합니다. 꼭 익혀두세요!
7. 타입 힌트는 협업의 기본 언어입니다
🧓 타입 없이 막 쓰는 함수
def greeting(name):
return "Hello " + name
🚀 명확하게 타입을 붙여주세요
def greeting(name: str) -> str:
return f"Hello {name}"
자동 완성, 정적 검사, 협업의 효율까지 업그레이드됩니다.
8. enumerate()로 반복문 더 우아하게
🧓 이제 range(len(...))은 그만
items = ["pen", "notebook", "ruler"]
for i in range(len(items)):
print(i, items[i])
🚀 더 깔끔한 반복문
for i, item in enumerate(items):
print(i, item)
깔끔한 코드가 실력입니다.
9. lambda 남용보다 리스트 컴프리헨션
🧓 복잡한 람다식은 가독성 저하
nums = [1, 2, 3]
triples = list(map(lambda x: x * 3, nums))
🚀 더 읽기 쉬운 코드로!
triples = [x * 3 for x in nums]
한눈에 의도가 보이도록 작성하세요.
10. f-string으로 문자열도 스타일 있게
🧓 .format()은 이제 손이 안 갑니다
name = "Lila"
score = 99
print("이름은 {}이고 점수는 {}점입니다.".format(name, score))
🚀 더 현대적이고 빠르게!
print(f"이름은 {name}이고 점수는 {score}점입니다.")
이건 그냥 무조건 써야 합니다. f-string은 파이썬의 진화 그 자체예요.
✅ 마무리: 이제는 코드도 트렌드입니다
요즘 파이썬은 과거보다 훨씬 깔끔하고, 기능이 풍부하며, 협업에 최적화되어 있습니다. dataclass, pathlib, asyncio, f-string 등은 단순한 문법이 아니라 더 나은 개발 습관을 만들어주는 도구입니다.
🙋♀️ 혹시 지금 내 프로젝트가 2010년대 스타일로 멈춰 있다면? 오늘 소개한 10가지를 하나씩 적용해 보세요. 당장은 조금 귀찮아도, 나중엔 “왜 이제야 썼을까”라는 생각이 들 겁니다.
'프로그래밍 언어(Programming Languages) > 파이썬(Python)' 카테고리의 다른 글
[파이썬 (Python)] If/Else: 파이썬 제어 흐름의 새로운 접근법 🐍✨ (0) | 2025.01.25 |
---|---|
[파이썬 Python] Python 라이브러리 Camelot으로 PDF에서 테이블 추출하기! 🧙♂️📊 (1) | 2025.01.22 |
[Python 파이썬] Drawdata로 데이터셋 직접 그려보기 🖌️: 데이터 과학자가 꼭 알아야 할 꿀팁! (0) | 2025.01.21 |
[파이썬 Python]🧑💻 파이썬으로 이해하는 동시성, 스레딩, 병렬 처리 🛠️ (1) | 2025.01.16 |
[파이썬 Python] Python Celery로 작업 스케줄링과 비동기 처리 쉽게 배우기 ⏰ (1) | 2025.01.15 |