programming language/Python

Python에서 += 연산자

눈곱만큼도모름 2025. 1. 23. 01:12
728x90
반응형

 

 

Python에서 += 연산자

+= 연산자는 Python에서 복합 할당 연산자로 사용
이는 변수에 값을 더한 후, 그 결과를 다시 해당 변수에 저장하는 역할을한다.

x = 5
x += 3  # x = x + 3과 동일
print(x)  # 출력: 8
    

 

  • x += yx = x + y와 동일합니다.
  • 숫자, 문자열, 리스트 등 다양한 데이터 타입에서 사용할 수 있습니다.

 

1. 숫자

x = 10
x += 5
print(x)  # 출력: 15
    

2. 문자열

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

3. 리스트

my_list = [1, 2, 3]
my_list += [4, 5]
print(my_list)  # 출력: [1, 2, 3, 4, 5]
    

불변 객체와의 차이점

  • 불변 객체(예: 숫자, 문자열 등)에서는 새로운 값이 생성되어 변수에 할당되지만,
  • 가변 객체(예: 리스트 등)에서는 기존 객체가 수정됩니다

주의사항

  • += 연산자는 원래 변수의 값을 수정합니다.
  • 문자열과 리스트에서는 새로운 객체를 생성하지 않고 기존 객체를 수정할 수 있습니다.
  • 데이터 타입에 따라 작동 방식이 다를 수 있으므로 주의해야 합니다.
  • += 연산자는 내부적으로 __iadd__ 메서드를 호출합니다.
    해당 메서드가 정의되지 않은 경우 __add__ 메서드가 호출됩니다
    .이로 인해 가변 객체와 불변 객체에서 동작 방식이 다를 수 있습니다(아래참고)
x = [1, 2]
y = x
x += [3]  
print(x)  # 출력: [1, 2, 3]
print(y)  # 출력: [1, 2, 3] (같은 객체)

x = (1, 2)
y = x
x += (3,)  
print(x)  # 출력: (1, 2, 3)
print(y)  # 출력: (1, 2) (다른 객체)

 

효율적인 코드 작성

+= 연산자를 사용하면 코드가 간결해지고 가독성이 높아집니다.
반복문에서 누적 합계 계산이나 문자열 연결 작업 등에 자주 활용됩니다.

# 누적 합계 계산
total = 0
for i in range(5):
    total += i
print(total)  # 출력: 10

# 문자열 연결
greeting = "Hello"
for name in ["Alice", "Bob"]:
    greeting += f", {name}"
print(greeting)  # 출력: "Hello, Alice, Bob"

결론적으로, Python의 += 연산자는 코드 간소화와 효율적인 데이터 처리에 유용하며, 다양한 데이터 타입에서 활용 가능합니다

728x90
반응형