2021/04/05 오리엔테이션
머신러닝은 CPU외에도 GPU(그래픽카드), TPU(칩)을 통해 좀 더 빨리 구현될 수 있다.
Anaconda (패키지관리 프로그램) 인스톨하기
Visual Studio Code/Pycharm/Jupyter
파이썬의 특징: 인간답고 쉽고 빠르고 간결하다 + 무료
- 컴파일러: 고급언어로 쓰인 프로그램을 즉시 실행될 수 있는
형태의 프로그램으로 바꾸어 주는 번역 프로그램. (컴퓨터의 2진수 명령어 변환기)
- 라이브러리: 컴퓨터 프로그램에서 자주 사용되는 부분 프로그램들을 모아 놓은 것.
언제든지 자유롭게 이용할 수 있도록 구성되어 있다.
- 패키지: 누군가 이미 만들어놓은 소스, 즉 기본적으로 구축된 함수/클래스를 의미.
속도가 빠르고 정확하다.
matlab: mathworks의 수치연산프로그램 >>싸이파이로 대체가능
- Anaconda spyder 시작>> Instal Kite (자동함수설정 등의 옵션으로 체크하면 편리함)
대만tsmc, 삼성전자 파운드리사업부에서 fabless 반도체회사의 반도체제품을 만듦.
5나노 공정=반도체 트랜지스터간격이 5나노임을 말한다.
트랜지스터는 전기적 신호를 저장하는데 전기가 On/off되는 상황을 이진법으로 나타낼
수 있다. bit는 전기적 신호를 저장할 수 있는 단위로 64비트는 2의 64승까지 전기적신호를
저장할 수 있음을 나타낸다.
메모리의 폭이 32비트/64비트라면 우리는 이를 32비트 컴퓨터/64비트 컴퓨터라고 부른다.
1 byte= 8 bit
32bit 컴퓨터라면 한 줄에 4byte를 쓸 수 있다.
데이터타입과 저장방식
데이터타입마다 사전에 정의된 데이터 사이즈가 있음. 이는 C언어에서는 중요함.
C언어는 문자와 문자열이 다른 데이터타입이라면 파이썬은 문자와 문자열이 하나의
데이터타입으로 인식된다. 데이터타입이 다르다는 것은 메모리에 저장되는 형태, 방식이
다르다는 것을 의미한다.
A=16 이라고 할 때, 2로 나눈것의 나머지를 역순으로 배치하면 이를 2진수로 바꿀 수 있다.
16은 2진수로 10000 가 된다.
그렇다면,
A= "python" 은 어떻게 저장할까?
메모리공간은 트랜지스터로 이루어져있는 전기적 신호를 받을 수 있는 공간이다.
문자열 (str)는 아스키코드(ascii)로 정의된다.
A=12433.45는 어떻게 저장할까?
정수(int)와 다르게 float형태 데이터는 1243345x10^4로 저장된다.
(소수점은 무시되고, 가수부와 지수부의 영역이 나누어져서 저장된다)
참고로, 파이썬은 한줄한줄이 객체지향언어로 C언어처럼 각기 다른타입의 데이터들이 어떻게
저장되어 있는지 메모리관리를 따로 할 필요가 없다.
A= [1, 2, 3]
정수 1, 2, 3을 요소(element)로 갖는 A 리스트가 있다.
for a in A :
print(a)
해석>> A라는 리스트 안의 첫번째 요소를 a라는 변수에 넣어라
(A는 iterable 한데 이는 여러가지 element를 가진 데이터 타입이다)
for는 반복문이므로 for에 종속된 구절에 해당되는 계산을 완료 후
두 번째, 세 번째 요소를 반복계산 후 끝낸다.
i=0
while i<3:
i=i+1
(while 반복문은 조건식을 만족하지 않을때까지 해당 loop가 반복된다.)
16진수
1자리수를 16개로 표현하는데, 16진수는 0, 1, 2, 3, .... 9, A, B, C, D, E, F 로 표현한다.
16진수에서 10은 10진수로 16이 된다.
혼동이 올 수 있으므로 16진수일 때는 0x를 붙여서 표시를 한다.
0x10은 16진수 10이다.
10진수 14는 2진수로 1110, 16진수로 E로 표현된다.
2진수를 10진수, 16진수로 바꾸기 예
2진수: 1101 0001 1000 1011 0011
10진수: 계산기 프로그래머 버전으로 바꾼 뒤 전환 (복잡함)
16진수: 0x D 1 8 B 3
컴퓨팅에서 16진수를 쓰는 이유는 10진수에비해 2진수를 컨버팅하기 쉽고,
길어서 표현하기 어려운 2진수보다 짧고 간결하기 때문이다.
(2진수 4자리를 16진수 1자리로 바꾸는 것은 보다 간단하다)
'살콤아내 자기계발 > 파이썬' 카테고리의 다른 글
POSTECH 컴퓨터공학 입문 1 (1-4주차 요약) (0) | 2021.04.06 |
---|---|
POSTECH Python 프로그래밍 2 (요약 1-2주) (0) | 2021.04.05 |
POSTECH Computational Thinking 2 (1-4주차 요약) (0) | 2021.04.04 |
POSTECH Computational Thinking 1 (1-4주차 요약) (0) | 2021.04.03 |
POSTECH Python 프로그래밍 1 (요약 3-4주) (0) | 2021.03.24 |