- 변수에 대입된 기존의 값을 업데이트하거나 변형하는 대입 연산자에 대해서 공부
- 앞에서 배웠던 산술 연산자와 비슷하게 하지만, 조금 더 깔끔한 코딩을 할 수 있다.
복합 대입 연산자(compound assignment operator)는 기존에 등록된 변수의 값을 업데이트하거나 변형하는 데 사용되는 연산자이다.
쉽게, 이미 사용 중인 변수를 사용하여, 기존의 값을 산술 연산자로 변경할 때 사용하고자 할 때 많이 사용하며, 앞으로 배울 for()
문 또는 while()
문 등, 반복문에 주로 많이 사용된다.
복합 대입 연산자는 기본 대입 연산자인 =
과 앞장에서 배웠던 산술 연산자를 결합하여 코드를 간결하게 작성할 수 있도록 해준다.
복합 대입 연산자의 종류
연산자 기호 | 연산 종류 |
+= |
기존 값에서 값을 더하여 다시 변수에 저장 |
-= |
기존 값에서 뺀 값을 다시 변수에 저장 |
*= |
기존 값에서 곱한 값을 다시 변수에 저장 |
/= |
기존 값에서 나눈 값을 다시 변수에 저장 |
//= |
기존 값을 나눈 후, 소수점을 버린 몫을 다시 변수에 저장(정수 자료형) |
%= |
기존 값을 나눈 후, 나머지 값을 다시 변수에 저장 |
**= |
기존 값을 제곱하여 다시 변수에 저장 |
위와 같이 우리는 이미 앞에서 배웠던, 기본 대입 연산자인 =
에 산술 연산자인 +, -, *, /, //, %, **
를 합쳐서 사용하는 것을 복합 대입 연산자라고 한다.
산술 연산자 말고도, 비트 연산자(&, |, ^, <<, >>
)등도 복합 대입 연산자로 사용할 수 있지만, 비트 연산자에 대한 설명은 나중으로 미뤄둔다.
각 연산자의 활용 방법
복합 대입 연산자는 연산 결과를 새로운 변수에 대입하는 것이라, 기존 변수를 다시 연산하여 할당하는 형식임으로, 연산하는 코드가 짧고, 간결해지며, 동일한 변수를 재 사용함으로 성능면에서 아주 약간은 유리하다고 볼 수 있다.
+=
더하기 후 재 할당
var1 = 10
var1 += 5 # += 복합 대입 연산자
print(var1) # 결과 : 15
var1 += 5
는 var1 = var1 + 5
와 동일한 코드이며, 기존 값에 5를 더한 결과를 다시 var1
에 할당하는 것이다.
-=
빼기 후 재 할당
var2 = 10
var2 -= 5 # -= 복합 대입 연산자
print(var2) # 결과 : 5
var2 -= 5
는 var2 = var1 - 5
와 같고, 기존 값에 5를 뺀 결과를 다시 var2
에 할당하는 것이다.
*=
곱한 후 재 할당
var3 = 10
var3 *= 5 # *= 복합 대입 연산자
print(var3) # 결과 : 50
var3 *= 5
는 var3 = var3 * 5
와 같으며, 기존 값에 5를 곱한 결과를 다시 var3
에 할당하는 것이다.
/=
나눈 후 재 할당
var4 = 10
var4 /= 5 # /= 복합 대입 연산자
print(var4) # 결과 : 2
var4 /= 5
는 var4 = var4 / 5
와 동일하며, 기존 값에 5를 나눈 결과를 다시 var5
에 할당하는데, 이때 결과는 실수 자료형으로 적용된다.
//=
나눈 몫을 정수로 재 할당
var5 = 10
var5 //= 3 # //= 복합 대입 연산자
print(var5) # 결과 : 3
var5 //= 3
는 var5 = var5 // 3
와 동일하며, 나눗셈한 결과의 정수 부분만 다시 var5
에 할당하는 것이다.
%=
나눈 나머지를 재 할당
var6 = 10
var6 %= 3 # %= 복합 대입 연산자
print(var6) # 결과 : 1
var6 %= 3
는 var6 = var6 % 5
와 동일한 코드이며, 기존 값을 3으로 나눈 후, 나머지 결과를 다시 var6
에 할당하는 것이다.
**=
제곱 후 재 할당
var7 = 2
var7 **= 8 # **= 복합 대입 연산자
print(var7) # 결과 : 256
var7 **= 8
는 var7 = var7 ** 8
과 같으며, 기존 값을 8로 제곱한 결과를 다시 var8
에 할당하는 것이다.
복합 대입 연산자의 장점
위의 예시를 통해 알아보았듯이 var1 = var1 + 5
와 같은 형식을 var1 += 5
처럼 코드를 단순화시킬 수 있으며, 짧고 간결하게 코딩할 수 있는 장점이 있다.
또한, 매번 새로운 변수를 생성하지 않고, 기존의 변수를 활용하여 새로운 값을 만들 수 있어 성능에도 조금은 도움이 될 수 있고, 중요한 것은 프로그래밍의 의도가 명확하게 전달되어 복잡한 계산에도 직관적으로 이해할 수 있다는 장점이을 가지고 있다.
이번 시간은 지난 시간에 배웠던 내용을 대부분 포함하고 있어서, 큰 어려움 없이 공부할 수 있었으리라 생각한다.
앞에서도 언급했듯이, 복합 대입 연산자는 변수의 값을 반복적으로 경신해야 하는 반복문에 참 많이 사용되는 부분이기 때문에 쉽다고 흐지부지 넘어가지 말고, 충분한 연습을 통해 익혀두기를 바란다.
우리 같이 열심히 공부해 봅시다.
죽이 되는 것보다 밥이 되는 것을 목표로~~^^
위 내용은 공부하면서 이해한 내용과 단편적인 검색 지식으로 작성된 내용으로 글에 오류가 있을 수 있으며,
오류나 잘못된 정보가 있으면 언제든지 댓글 주시면 최대한 반영/수정하겠습니다.