variable & memory
변수
가장 기초적인 프로그래밍 문법 개념
데이터(값)을 저장하기 위한 메모리 공간의 프로그램상의 이름
[참고] 컴퓨터의 구조 - 폰 노이만 아키텍처
사용자가 컴퓨터에 값을 입력하거나 프로그램을 실행할 경우
그 정보를 먼저 메모리에 저장시키고
CPU(제어장치, 산술논리장치)가 순차적으로 그 정보를 해석하고 계산하여 사용자에게 결과값을 전달
변수 :
값을 저장하는 장소
메모리 주소를 가지고 있고
변수에 들어가는 값은 메모리 주소에 할당
Basic Operation(간단한 연산)
1) 기본 자료형
data type : 파이썬이 처리할 수 있는 데이터 유형
> integer, float, string, boolean
Dynamic Typing : 코드 실행 시점에 데이터의 Type을 결정하는 방
파이썬은 자료형을 따로 선언하지 않아줘도 됨
2)연산자와 피연산자
연산자 : +,-,*,/
피연산자 : 3 + 2의 3과 2
증가/ 감소 연산
a+=1 은 a = a + 1 과 같음
a = 10
type(a)
>> <class 'int'>
float(a)
>> 10.0
a
>> 10
a값 자체는 변하지 않는 상태
a = float(a)
a
10.0
type(a)
<class 'float'>
a값 자체를 변화
데이터 형 변환 : 정수형 ↔실수형
실수형에서 정수형으로 형 변환 시 소수점 이하 내림
10. 7 > 10
데이터 형 변환 : 숫자 ↔ 문자열
a = '76'
a = int(a)
a
76
type(a)
<class 'int'>
[참고] 컴퓨터는 왜 이진수를 쓰나요?
컴퓨터는 실리콘이라는 재료로 만든 반도체로 구성됨
반도체는 특정 자극을 줬을때 전기를 통할 수 있게 하는 물질
도체와 부도체에 반해 반도체는 전류의 흐름을 제어가 가능
전류가 흐를 때 1, 흐르지 않을 때 0으로만 숫자를 표현할 수 있음
이진수 한자리를 bit라 칭하고 8개의 bit는 1Byte
List
List 또는 Array
-시퀸스 자료형, 여러 데이터들의 집합
-int, float 같은 다양한 데이터 타입 포함
list의 특징
인덱싱 : list에 있는 값들은 주소(offset)를 가짐
>주소를 사용해 할당된 값을 호출
슬라이싱(slicing)
-list의 값들을 잘라서 쓰는 것.
-list의 주소 값을 기반으로 부분 값을 반환
리스트의 연산
concatenation, is_in, 연산 함수들
리스트의 연산 - 추가와 삭제
-append, extend, insert, remove, del 등 활용
python 리스트만의 특징
-다양한 Data Type이 하나에 List에 들어감
패킹과 언패킹
-패킹 : 한 변수에 여러 개의 데이터를 넣는 것
-언 패킹 : 한 변수의 데이터를 각각의 변수로 반환
이차원 리스트
-리스트 안에 리스트를 만들어 행렬 생성