코딩/Python

3. 변수와 자료형

익 플 2022. 5. 11. 09:00

이번 시간에는 변수와 자료형에 대해서 알아보자.

변수(Variable)는 수학적인 의미로 변하는 숫자라고 할 수 있다.
그렇다면 프로그래밍에서의 변수는 어떤 의미를 가지고 있을까?
수학적인 의미와 비슷하게 받아들일 수도 있지만 값을 저장할 수 있는 공간이라고 할 수 있겠다.

변수에 값을 저장하고 싶으면 파이썬에서는 어떻게 해야 할까?
단순하다.

a라는 변수에 3이라는 값을 저장하고 싶다면 다음과 같이하면 된다.

a = 3

만약 실수나 문자열을 저장하고 싶다면 다음과 같이하면 된다.

b = 3.14
c = "Hello"

파이썬에서는 저장할 값이 정수, 실수, 문자열 등 어떠한 유형인지는 중요하지 않다.
왜냐하면 파이썬은 '동적 타입 언어'이기 때문이다.
동적 타입 언어는 변수에 저장되는 값에 따라 알아서 지정이 된다.

'정적 타입 언어'의 경우를 살펴보자.

예를 들어 C언어에서 a라는 변수에 3이라는 정수를 저장하고 싶다면 다음과 같이 코드를 작성해야 한다.

int a = 3;

위와 같이 정적 타입 언어의 경우 a라는 변수의 자료형이 무엇인지 명시해주어야 한다.
파이썬에서는 명시해주지 않아도 되기 때문에 좀 더 유연하고 빠르게 개발을 할 수 있다는 장점이 있다.
반대로 실행하기 전 까지는 자료형으로 인한 버그를 찾기 어려워진다.
간단하게 동적 타입과 정적 타입의 언어에 대해 알아보았고, 파이썬에서 제공하는 자료형을 알아보도록 한다.

파이썬에서 기본적으로 제공하는 자료형은 다음과 같다.
이번 편에서는 우선 기본 자료형만 다룰 것이다.
군집 자료형은 다음 편에서 하나하나 알아볼 것이다.

기본 자료형 : int(정수), float(실수), complex(복소수), bool(논리)
군집 자료형 : str(문자열), list(리스트), tuple(튜플), set(집합), dict(사전)
기타 자료형 : bytearray, bytes, frozenset

다음과 같이 코드를 작성하고 실행해보자.
type함수는 변수의 자료형이 무엇인지 확인하고 결과로 돌려주는 함수이다.

i = 3 #int
f = 3.5 #float
c = 1 + 3j #complex
b = True #bool

print(type(i))
print(type(f))
print(type(c))
print(type(b))

실행을 하게 되면 아래와 같이 출력될 것이다.

<class 'int'>
<class 'float'>
<class 'complex'>
<class 'bool'>

작성한 코드에서 따로 자료형을 명시해주지 않았는데도 불구하고 값에 맞게 자료형이 지정된 것을 볼 수 있다.

변수는 선언과 동시에 연산을 할 수도 있고, 변수끼리 연산을 진행할 수도 있다.
만약 'int' 타입의 자료형과 'complex' 타입의 자료형을 연산하면 어떻게 될까?

결과는 당연히 'complex'의 자료형으로 연산이 된다.

i = 3 #int
c = 1 + 3j #complex

new = i+c

print(new)
print(type(new))
(4+3j)
<class 'complex'>

'int' 타입의 i와 'complex' 타입의 c의 합을 new 변수에 저장하고, new의 값을 출력하고 자료형 또한 출력을 해보았을 때,
정상적으로 연산이 되었고 new의 자료형 역시 'complex'인 것을 확인할 수 있을 것이다.

다음 포스팅에서는 군집 자료형에 대해 설명하고자 한다.