➕ += vs .append() 완전 정복 – 언제 어떤 걸 써야 할까?

2025. 4. 29. 23:16·기술블로그

➕ += vs .append() 완전 정복 – 언제 어떤 걸 써야 할까?

파이썬을 쓰다 보면 값을 누적할 일이 많습니다.
그럴 때 흔히 사용하는 것이 += 와 .append() 입니다.
하지만 이 둘은 사용 대상이 다르고 동작 방식도 미묘하게 차이가 있어요!


✅ 요약 비교표

구분 += .append()

목적자료형방식
+= 문자열, 숫자, 리스트 값을 누적하거나 이어붙이기
.append() 리스트 전용 리스트에 요소 추가하기
사용 자료형 문자열, 숫자, 리스트 리스트 전용
동작 방식 값을 이어붙이거나 더함 리스트에 요소 하나를 추가함
반환값 없음 (변수 자체 변경) 없음 (리스트 변경)

📌 문자열에 += 사용 (⭕ 가능)

text = ""
text += "Hello"
text += " World"
print(text)  # 출력: Hello World

❗ 문자열에는 .append() 없음 → AttributeError 발생


📌 리스트에 .append() 사용 (⭕ 가장 권장)

titles = []
titles.append("기생충")
titles.append("인셉션")
print(titles)  # ['기생충', '인셉션']

📌 리스트에 += 사용 (⭕ 가능하지만 주의)

titles = ["기생충"]
titles += ["인셉션"]
print(titles)  # ['기생충', '인셉션']

💡 +=는 리스트를 풀어서 요소들을 추가합니다.

titles += "슬램덩크"
# 결과: ['기생충', '인셉션', 'ㅅ', 'ㅡ', 'ㄹ', '...', 'ㅋ'] ← 실수 주의 ❗

📌 문자열을 만들 때 append() ❌, += ⭕

html = ""
for title in ["기생충", "어벤져스"]:
    html += f"<p>{title}</p>"

print(html)
# 출력: <p>기생충</p><p>어벤져스</p>

📌 문자열을 리스트로 누적한 후 join() 사용 (⭕ 대안)

movie_titles = [
    f'<a href="/movie/{index}/">{movie["title"]}</a><br>'
    for index, movie in enumerate(movie_list)
]
response_text = ''.join(movie_titles)
return HttpResponse(response_text)

💡 리스트에 문자열을 누적하고, 마지막에 ''.join()으로 한번에 합치면 더 효율적입니다.


🎯 실전 요약 정리

상황 추천 방식
문자열 붙이기 +=
숫자 누적 합산 +=
리스트에 요소 하나 추가 .append()
여러 요소 한꺼번에 추가 .extend() or += [a, b]
HTML 문자열 모아서 출력 list.append() + ''.join()

✅ 결론

  • +=는 간결하고 직관적이지만, 리스트에서는 주의가 필요합니다.
  • .append()는 리스트 조작에 최적화되어 있으며, 구조적 데이터를 다룰 때 더 명확합니다.
  • 문자열 누적이 많은 경우에는 list.append()로 모았다가 ''.join()으로 출력하는 방식이 성능에도 더 좋습니다.

🎯 실전 요약 정리

상황 추천 방식

문자열 붙이기 +=
숫자 누적 합산 +=
리스트에 요소 하나 추가 .append()
여러 요소 한꺼번에 추가 .extend() or += [a, b]

✅ 결론

  • +=는 간결하고 직관적이지만, 리스트에서는 주의가 필요합니다.
  • .append()는 리스트 조작에 최적화되어 있으며, 구조적 데이터를 다룰 때 더 명확합니다.

둘 다 잘 활용하면, 코드의 효율성과 가독성이 훨씬 좋아집니다!
필요하면 .extend()나 .insert(), .pop() 등도 함께 정리해보세요 😊

'기술블로그' 카테고리의 다른 글

🔁 Django 전체 흐름 ( views, urls(route), models, templates)  (0) 2025.04.29
🌐 Django urls.py만으로 구현한 웹 애플리케이션  (0) 2025.04.29
🔢 enumerate() 함수 완벽 가이드 – 인덱스와 함께 반복하자!  (0) 2025.04.29
⚠️ raise 문법 완벽 가이드 – 예외 처리의 핵심  (0) 2025.04.29
🧠 리스트 컴프리헨션(List Comprehension) 완벽 가이드 + .join() 활용 예시  (0) 2025.04.29
'기술블로그' 카테고리의 다른 글
  • 🔁 Django 전체 흐름 ( views, urls(route), models, templates)
  • 🌐 Django urls.py만으로 구현한 웹 애플리케이션
  • 🔢 enumerate() 함수 완벽 가이드 – 인덱스와 함께 반복하자!
  • ⚠️ raise 문법 완벽 가이드 – 예외 처리의 핵심
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (582) N
      • Python (31)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (10)
      • 특강 (26)
      • 기술블로그 (196) N
      • AI 분석 (3)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (58)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
➕ += vs .append() 완전 정복 – 언제 어떤 걸 써야 할까?
상단으로

티스토리툴바