일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 문자열
- f문자열포매팅
- 천 단위 콤마
- 섭씨화씨변환프로그램
- 프로그램
- 소수점 표현
- 온도변환프로그램
- 파이썬 문자열 프로그램
- str()
- 문자열포매팅 정렬
- 파이썬 문자열 함수
- 라즈베리파이3B+
- Python
- 파이썬문자열
- 라즈비안
- 자료형
- 파이썬
- 파이썬 반복문
- float()
- while반복문
- 문자열 포매팅
- 라즈베리파이
- 라즈베리파이 삼바
- 문자열프로그램
- 파이썬 자료형
- 티스토리
- 파이썬 형변환
- print()
- if~elif~else
- 서식지정자
- Today
- Total
Welcome to the Matrix
011. 파이썬의 다양한 대입 연산자 사용 방법과 활용 본문
이번 시간에는 파이썬에서 사용되는 '대입 연산자'에 대해서 좀 더 알아보겠습니다.
대입 연산자에 대한 기본적인 내용은 앞선 '변수'에 대한 문서에서 확인할 수 있습니다.
단순 대입 연산자
대입 연산자는 변수를 만들 때, 특정 자료형의 값을 변수에 할당하기 위한 용도로 사용되는 연산자입니다.
# 대입 연산자
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를 통해 몇 가지 예를 살펴봅시다.
문자열 자료형도 동일하게 복합 대입 연산자를 사용할 수 있습니다.
복합 대입 연산자 | 내용 설명 |
+= | 문자열을 연결한 후 대입 |
*= | 문자열을 반복한 후 대입 |
어때요?
'대입 연산자'라는 것에 대해 대충 감이 오시나요?
대입 연산자의 개념은 기본적으로 변수에 어떠한 값을 할당하기 위해 사용되는 연산자입니다. 그리고 그 개념을 확장해 좀 더 편리하고 다양한 연산을 할 수 있습니다.
'Python > PythonBasic' 카테고리의 다른 글
013. 파이썬 문자열 포매팅(서식 지정자) 사용 방법 (0) | 2020.12.28 |
---|---|
012. 파이썬 화면 출력을 위한 print() 함수 사용 방법 (0) | 2020.12.28 |
010. 파이썬에서 변수란 무엇인가? (1) | 2020.12.26 |
009. 파이썬 불(Boolean) 자료형과 연산자 (0) | 2020.12.25 |
008. 파이썬 문자열 연산자로 문자열 다루기 (0) | 2020.12.24 |