✔️ 변수
- 프로그래밍에서의 변수 = 수학적 의미인 '변할 수 있는 수'에 '어떠한 값을 저장하는 장소'의 의미가 더해진다.
- 메모리 = 변수에 저장되는 값의 물리적 장소. 변수의 저장 위치를 메모리 주소라고 한다.
- 할당(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로 인식된다.
'Coding > Python' 카테고리의 다른 글
[Python] sys.maxsize (O) sys.minsize (X) (0) | 2022.05.29 |
---|---|
데이터 과학을 위한 파이썬 프로그래밍 연습문제 Chap2 (0) | 2022.01.18 |
Python 특징, 개발환경 (0) | 2022.01.18 |
데이터 과학을 위한 파이썬 프로그래밍 연습문제 Chap1 (0) | 2022.01.17 |