본문 바로가기
Coding/Python

Python 변수, 자료형

✔️ 변수

- 프로그래밍에서의 변수 = 수학적 의미인 '변할 수 있는 수'에 '어떠한 값을 저장하는 장소'의 의미가 더해진다.

- 메모리 = 변수에 저장되는 값의 물리적 장소. 변수의 저장 위치를 메모리 주소라고 한다.

- 할당(assignment) : 변수에 값을 넣는 과정.

 

-

print(a + b) : 변수a값과 b값을 더한 값을 출력.

print("a + b") : a + b 문자 그대로 출력.

 

- 폰 노이만 아키텍처 (현재 컴퓨터의 기반 구조)

: 컴퓨터가 어떤 프로그램을 실행 시키려고 하면 실행하고자 하는 값을 컴퓨터의 메모리에 저장하고 , 저장된 값을 순차적으로 CPU로 불러 계산하는 방식.

// 이 때, 메모리는 일반적으로 휘발성인 RAM(Random Access Memory).

 

- 변수명 선언 규칙

1) 알파벳, 숫자, 밑줄(_)로 선언가능.

2) 의미있는 단어를 사용하여 다른 사람도 알아볼 수 있게 함.

3) 변수명은 대소문자가 구분된다. 일반적으로 소문자로 구성하는 것을 추천.

4) 특별한 의미가 있는 예약어(명령어)는 사용불가

 

 

 

✔️

컴퓨터는 고성능의 계산기라고 할 수 있기 때문에 컴퓨터에서 사칙 연산은 가장 기본적이면서 핵심을 이룬다.

컴퓨터의 사칙연산을 이해하기 위해 메모리 공간, 자료형, 연산자와 피연산자에 대해 알 필요가 있다. 

 

 

✔️ 메모리 공간

이진수 한 자리가 1bit

8 bits = 1 byte

1,024bytes = 1 kilobyte = 1KB

1,024KB = 1 megabyte = 1MB

 

 

 

✔️ 기본 자료형

할당받는 메모리의 크기는 변수의 자료형에 의해 결정된다.

자료형은 변수가 어떤 형태의 테이터를 저장하는지 나타낸다.

 

파이썬의 인터프리터가 알아서 메모리 영역에 필요한 공간을 확보한다.

메모리 공간은 변수의 자료형, 컴퓨터 시스템의 타입(32/64bits)에 따라 다르다. 

 

1) 정수형 (integer)

 

2) 실수형 (floating-point) // 부동 소수점 방식 : 컴퓨터에서 실수를 표시하는 방법

: 실제 값이 정수형이라도 실수를 입력하면 인터프리터는 실수형으로 해석한다.

 

3) 문자형 (string) 

: 파이썬에서는 따옴표에 들어간 정보를 문자형 데이터로 취급한다.

 

4) 불린형 (boolean) 또는 논리형

 

* dynamic typing (동적 타이핑)

: 변수의 메모리 공간을 확보하는 행위가 실행 시점에서 발생하는 것.

data라는 변수의 자료형이 무엇인지를 프로그래머가 아닌 파이썬의 인터프리터가 스스로 판단한다.

파이썬은 저장되는 값의 크기에 따라 동적으로 메모리 공간을 할당받을 수 있다.

 

 

 

✔️ 기본 연산

- 제곱승은 ** 으로 나타낸다. ( 2² == 2 ** 2)

- 나눗셈에서 몫만 반환하려면 // 연산자를 쓴다. ( 7 // 2 = 3)

- 증감연산은 ++, -- 가 아닌 += 1, -= 1 을 사용한다.

 

 

 

✔️ 자료형 변환

// 기본 연산을 하려면 두 피 연산자의 자료형을 맞춰 주어야한다.

 

1) 정수형과 실수형 간 변화

정수형으로 int(10.0) = 10    // 이때 소수점 이하의 내림이 발생한다.

실수형으로 float(10) = 10.0

 

인터프리터는 필요에 따라 정수형을 실수형으로 변환한다.

ex. 10 / 3 = 3.3333... 

// 정수형 끼리의 나눗셈이므로 결과도 정수형이어야 하지만 실수형으로 반환됨

// 하지만 파이썬 버전에 따라 자동 형변환이 일어나지 않고 결과가 도출될 수 있다

 

2) 숫자형과 문자형 간 변화

문자형으로 str()

// 주의!! 문자형 간의 덧셈은 에러가 아닌 concatenate(단순 붙이기)

 

* 각 변수의 자료형을 확인하기 위해서는 type() 함수를 사용하면 된다. 

 

 

3) 자동 형변환이 일어나는 이유?

파이썬의 대표적인 특징인 동적 타이핑 때문에 일어난다.

유사 case 1) 정수형인 1과 불린형인 True를 '1 == True'라고 입력하면 결과는 True로 출력된다.

유사 case 2) 아무것도 넣지 않은 ""같은 문자열을 불린형과 비교하면 False로 인식된다.