본문 바로가기
프로그래밍 언어(Programming Languages)/파이썬(Python)

아직도 구닥다리 파이썬 코드 짜시나요? 모던 파이썬 스타일 10가지

by 데이터 벌집 2025. 4. 8.
반응형

아직도 구닥다리 파이썬 코드 짜시나요? 모던 파이썬 스타일 10가지

 

파이썬은 이제 더 이상 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가지를 하나씩 적용해 보세요. 당장은 조금 귀찮아도, 나중엔 “왜 이제야 썼을까”라는 생각이 들 겁니다.

반응형