╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Python/Python 기초

[Python] 변수의 선언과 자료형

재안안 2022. 2. 20. 22:43

변수는 정말 기초적인 개념이라고 생각한다. 그만큼 중요하고 쓰임새도 많다.

우선 변수는 값을 저장하는 메모리 공간이다.

변수를 선언하면 메모리를 할당하고 그 메모리에 값을 저장한다.

 

쉽게 말하자면 어떠한 박스에 이름을 붙여주고 내용물을 담는 것이다.

내용물이 중요하니까 박스에 담아서 보관하고

그 박스가 어디있는지 어떻게 찾는지 알아야하니까 박스에도 이름을 붙이는 것이다.

 

말이 길지만 사실 이렇게 하면 변수의 선언이 된다.

 

 

수많은 박스들이 있다. 그 중 하나의 박스에 x라는 이름을 붙이고 10이라는 값을 저장했다. 

여기서 x가 변수, 10이 이다.

 

=은 연산자 라고 한다. 대입 연산자인데 오른쪽에 있는 을 왼쪽 변수에 넣어주는 역활을 한다.

여기서 수학의 "왼쪽과 오른쪽이 같다"와 햇갈릴 수 있지만 파이썬에서는 대입 연산자라는 이름으로 쓰인다.

파이썬에서 "왼쪽과 오른쪽이 같다"의 개념은 ==로 표현한다.

파이썬에서 다른 기호라는 걸 말하고 싶었다.

 

 

그리고 변수의 종류인 자료형(type)에 대해 알아보겠다.

자료형이라 함은 변수와 값의 종류로 생각하면 된다.

 

변수와 값의 자료형이 같아야 저장할 수 있다.

이때 값의 자료형은 입력하는 즉시 판별이 나지만 변수의 자료형은 어떻게 판별날까?

변수의 자료형은 변수 초기화시 가지고있는 값의 자료형으로 변한다.  

 

파이썬 자료형의 종류로는 아래와 같이 있다.

 

정수형 int
실수형  float
논리형  boolean
문자열  string
리스트  list
튜플  tuple
집합  set
딕셔너리  dictionary

 

숫자형 데이터

숫자형 데이터가 우리가 생각하는 값과 가장 근접할 것이다.                                      

숫자형 데이터라함은 이름 그대로 아래 사진의 10과 3.14처럼 숫자 값인데 파이썬에선 크게 두가지 종류로 나뉜다.

 

정수(integer)실수(float)

정수 실수 데이터들은 수학 정수 실수와 개념과 비슷하다.

아래 예제를 보면 10은 정수(자연수)이고 3.14는 실수이다.

소수점이 있으면 실수 없으면 정수인건 수학의 정수 실수 개념과 같다. 그러나 여기서 더 알아야할게 숫자형 데이터 0도 정수이다.

 

파이썬에서는 0도 정수의 영역에 포함된다만 기억하면 되겠다. 이것이 수학 정수 실수와의 차이점이다.

파이썬에서 정수가 0부터 시작이라는 개념은 꽤 중요하다.

 

아래의 예제를 통해 정수와 실수 구분을 설명하겠다.

 

 

위 두줄에서 변수 x와 y를 선언하였다. x에 저장되는 값이 정수, y는 실수이다.

type() 함수를 이용하는데 소괄호안에 변수를 넣으면 그 변수의 자료형이 반환된다.

아래의 사진은 print(type(x))와 print(type(y))의 실행 결과이다.

 

 

아래 출력 값을 따르면 x는 int, y는 float이다.

파이썬에서 이런 숫자형 데이터들을 저장할 수도 있고 연산할 수도 있다.

 

위에서 말했던 것과 같이 type()함수로 숫자형 데이터의 자료형을 반환할 수 있다.

아래의 예제를 통해 재미있는 사실을 하나만 더 알아보겠다. 

 

 

변수 i에 0을 변수 j에 0.0을 넣었다. 보통 똑같은 0이라고 생각하겠지만 다르다.

아래 4줄은 변수 ij의 자료형을 출력해줘 라는 실행코드다.

실행 결과는 아래와 같이 나왔다.

 

 

"0와 0.0이 다르다니!" 라고 생각하겠지만 결과를 외우는게 좋다.

여기서 0과 0.0의 차이는 소수점의 유무이다.

위에서 말했던 것처럼 소수점이 있으면 실수 없으면 정수로 기억하는게 좋다.

 

그리고 숫자형 데이터들은 숫자로 많이 표현하지만 우리가 사용하는 10진법(decimal) 외에도 다른 여러가지 표현 방법들이 있다. 

우리는 10진법을 사용하지만 컴퓨터는 2진법을 사용한다.

우리가 사용하는 10진법은 1~9까지의 숫자를 사용하여 수를 표현하는 것이다.

2진법은 0과 1로 수를 표현하는 방법이다.

방법이 다른것이지 수를 표현한다는 개념은 같다.

여기서 알아야 할건 아 표현 방법이 다르면 우리한테 보이는게 다르구나! 이다.

 

파이썬에서는 정수형(int) 자료형의 표현 방법으로 10진법외 에도 2진법, 8진법, 16진법이 더 있다.

어차피 우리가 10진법으로 코딩해도 프로그램 실행 전에 2진법으로 자동으로 바뀐다.

그래서 10진법외에 다른 진법들로 연산을 할 것이 아니라면 가볍게 알아만 두는 것도 좋다.

 

아래의 코드들로 여러가지 진법들을 출력해 보았다. 모두 10을 표현한 것이다.

 

 

 

 

또다른 자료형은 boolean에 대해 알아보겠다.

bool은 또는 거짓이라는 값을 가지는 논리자료형이다.  

결과 값이 진실이거나 거짓이라는 것이다. 위의 예제와 같이 bool자료형의 변수를 선언하고 자료형을 출력해 보겠다.

 

 

진짜 bool 자료형은 참 또는 거짓만 값으로 가질 수 있다. 여기서 주의할 점이 있는데 True와 False의 앞글자를 대문자로 써야한다.

true or false로 쓰게되면 문자열(다른 자료형)로 인식한다.

 

bool 자료형은 보통 int과 float처럼 연산으로 쓰이는게 아니라 조건문의 반환값으로 많이 사용된다. 조건문은 나중에 자세히 공부할 텐데 간단한 예시를 만들어 보겠다.

 

 

변수 e안에 조건문(1==1)의 반환값을 넣었다. (혹시 1과1은 같은지의 결과)

변수 g안에 조건문(2<1)의 반환값을 넣었다. (혹시 2보다 1이큰지의 결과)

 

그리고 결과값을 출력해 보았다.

 

 

위의 사진처럼 True, False가 나왔다.

e는 참을 값으로 가지고 있고 g는 거짓을 값으로 가지고 있다.

나중에 값 참, 거짓을 조건으로 활용한다.

또하나 알아보자면 값만 참, 거짓이 있는게 아니라 자료형에도 참, 거짓이 있다.

아래의 예제를 통해 알아보겠다.

 

print함수로 출력했다.

 

이렇게 기억하면 훨씬 쉽게 다가온다.

숫자중에 0이아닌 모든 수는 논리 자료형에선 true이고 0일경우 false

다른 자료형들도 논리 자료형에선 공백이 아닌경우는 true 공백일 경우 false이다.

문자열, 리스트, 튜플, 딕셔너리 등등 비어있으면 false 뭐라도 있으면 true 라고 기억하면 편하다.

다른 자료형들은 다음 포스팅에서.