Welcome to the Matrix

011. 파이썬의 다양한 대입 연산자 사용 방법과 활용 본문

Python/PythonBasic

011. 파이썬의 다양한 대입 연산자 사용 방법과 활용

haru.keiko 2020. 12. 27. 08:17

파이썬의 다양한 대입연산자 관련 썸네일

이번 시간에는 파이썬에서 사용되는 '대입 연산자'에 대해서 좀 더 알아보겠습니다. 

대입 연산자에 대한 기본적인 내용은 앞선 '변수'에 대한 문서에서 확인할 수 있습니다. 

 

010. 파이썬에서 변수란 무엇인가?

이번 시간에는 파이썬에서 사용되는 '변수'라는 것에 대해서 알아보겠습니다. 프로그램을 하다 보면, 변수라는 말을 많이 듣습니다. 실제로 모든 프로그램 언어에는 변수라는 것이 있고, 또 이

null-0.tistory.com

 

단순 대입 연산자

대입 연산자는 변수를 만들 때, 특정 자료형의 값을 변수에 할당하기 위한 용도로 사용되는 연산자입니다. 

# 대입 연산자
pi = 3.141592

위 예를 보면, 실수 자료형 3.141592를 변수 pi에 할당하기 위해 '대입 연산자'를 사용했습니다. '오른쪽의 값을 왼쪽의 변수에 할당한다'라는 의미를 갖고 있는 것이죠. 아주 간단합니다. 

 

변수를 변수에 할당하기

다음과 같은 문장은 어떻게 될까요?

pi = 3.141592
pi_1 = pi + 1

먼저 직접 실행을 해보며 확인해보겠습니다. 

파이썬 변수에 변수를 할당하는 방법

아..

변수를 만들 때, 자료형의 값(데이터)이 아닌 변수를 사용할 수도 있군요!!

네! 맞습니다. 

새로운 변수를 만들 때, 기존에 존재하는 다른 변수를 이용해서 만들 수 있습니다.

변수는 어떠한 자료형의 값에 이름을 붙인 것이기 때문에 그 변수도 할당된 자료형의 값과 동일하다고 할 수 있습니다. 그렇기 때문에, 자료형에 대한 연산을 할 수 있는 것이지요.  

 

하나의 값을 여러 변수에 할당하기

그럼 다음 예의 결과는 무엇일까요?

하나의 변수가 아닌 여러 개의 변수와 대입 연산자 그리고 정수 자료형 값이 있습니다. 

a = b = c = 10

IDLE에서 확인해 봅시다.

파이썬에서 하나의 값을 여러 변수에 할당하는 방법

파이썬에서 대입 연산자를 이용해 하나의 값을 여러 개의 변수에 동시에 할당할 수 있습니다. 

 

기존 변수에 다른 값을 할당하기

기존 값을 할당받은 변수가 있을 때, 그 변수에 다른 값을 할당하면 어떻게 될까요?

a = 100
a = 200

파이썬에서 기존 변수에 다른 값을 할당하는 방법

 

처음에 변수 a는 100이라는 값을 할당합니다. 그리고 이후에 동일한 변수에 200이라는 값을 할당할 수 있습니다. 

결과는 변수를 사용할 시점에 최종적으로 할당된 값을 사용할 수 있게 됩니다. 이 경우, a는 200이 출력되었는데, 이 시점에 a라는 변수는 200이라는 값을 대신하는 변수인 것입니다. 

이처럼 변수는 항상 정해진 어떤 값만 가리키는 것이 아니라 가리키는 값을 변경할 수 있습니다.

마치 007의 '제임스 본드'는 한 명이지만, 매 시즌마다 제임스 본드 역을 맡은 배우가 바뀌는 것처럼요~

 

기존 변수에 다른 자료형 값을 할당하기

지금까지 변수를 사용하면서 동일한 자료형의 값만을 변수에 할당했습니다. 

그럼 다른 자료형의 값을 한 변수에 할당하면 어떤 일이 벌어질까요?

data = 100
data = 'hello'

일단 먼저 IDLE을 통해 확인을 먼저 해 봅시다!

파이썬 기존 변수에 다른 자료형의 값을 할당하기

 

앗! data라는 변수에 숫자 자료형을 할당할 수도 있고, 문자열 자료형을 할당할 수도 있군요!!

 

네. 파이썬은 대부분의 프로그래밍 언어와는 달리 동적 타입의 프로그래밍 언어입니다. 변수 자체가 자료형을 갖지 않고, 단지 그 변수가 가리키는 자료형을 할당받을 수 있고, 실행(Runtime) 시에 그 변수의 자료형이 결정됩니다. 

동적 타입의 언어라는 점은 무척 유연하고 빠르게 프로그래밍을 할 수 있기 때문에 무척 편할 수도 있습니다만, 실행 시에 의도치 않은 자료형에 대한 에러를 발생시킬 수 도 있으니 주의해야 합니다. 

예를 들어, data를 숫자 자료형인 줄 알고 더하기 연산을 했는데, 만일 data가 문자열 자료형일 경우 의도치 않은 결과가 나오게 되는 것입니다. 

파이썬은 동적 타입의 프로그래밍 언어로 변수에 저장하는 자료형은 실행(Runtime) 시에 결정된다.

 

복합 대입 연산자

변수는 그 변수가 가리키는 값의 자료형에 해당하는 연산을 할 수 있습니다. 만일 변수가 가리키는 자료형이 숫자 자료형일 경우, 그 변수를 가지고 숫자 자료형의 연산을 할 수 있습니다. 그리고 변수가 가리키는 자료형이 문자 자료형일 경우, 그 변수를 가지고 문자 자료형의 연산을 할 수 있습니다. 

여기서 재미있는 점은, 각 자료형의 연산자와 대입 연산자를 조합해서 함께 사용할 수 있습니다. 

 

다음과 같은 파이썬 코드가 있다고 합시다. 

과연 최종적으로 변수 a가 갖는 값은 얼마일까요?

a = 1
a = a + 2
a += 3

바로 IDLE에서 확인해보도록 하죠. 

파이썬 복합 대입 연산자 예제

결과는 6으로 나옵니다. 

 

그런데, 여기서 처음 보는 연산자('+=')가 하나 나옵니다. 

'+='와 같은 연산자를 복합 대입 연산자라고 합니다. 두 개의 연산자('+', '=')를 조합해서 하나의 연산자로 사용할 수 있는데요, '왼쪽 변수에 오른쪽 값을 더한 뒤, 그 결괏값을 왼쪽 변수에 저장하라'라는 의미입니다. 

즉, a += 3이라는 문장은 a = a + 3과 동일한 문장입니다. 

 

위 예에서 보는 것처럼 자료형에 적용하는 '기본 연산자'와 '대입 연산자'를 조합해서 새로운 연산자를 만들어 낸 것입니다. 

숫자 자료형에 사용되는 복합 대입 연산자는 다음과 같은 것이 있습니다. 

복합 대입 연산자 내용 설명
+= 숫자를 더한 후 대입
-= 숫자를 뺀 후 대입
*= 숫자를 곱한 후 대입
/= 숫자를 나눈 후 대입
//= 숫자를 나눈 후 그 몫만 대입
%= 숫자를 나눈 후 그 나머지만 대입
**= 숫자를 제곱한 후 대입

IDLE를 통해 몇 가지 예를 살펴봅시다. 

파이썬 숫자 자료형에 복합 대입 연산자를 사용하는 다양한 예제

 

문자열 자료형도 동일하게 복합 대입 연산자를 사용할 수 있습니다. 

복합 대입 연산자 내용 설명
+= 문자열을 연결한 후 대입
*= 문자열을 반복한 후 대입
IDLE를 통해 몇가지 예를 살펴봅시다. 
파이썬 문자열에 복합 대입 연산자를 사용하는 예제

 

어때요?

'대입 연산자'라는 것에 대해 대충 감이 오시나요?

대입 연산자의 개념은 기본적으로 변수에 어떠한 값을 할당하기 위해 사용되는 연산자입니다. 그리고 그 개념을 확장해 좀 더 편리하고 다양한 연산을 할 수 있습니다.