5/31 ~ 6/1

설치

https://www.notion.so/anaconda-89166daf80e84e0a8ce6017ccf71e1fc

Complier

런타임 이전에 기계어(혹은 Java의 경우 바이트 코드)로 변환 되는 언어

어셈블리어는 cpu에 의존적이기 때문에, 컴파일 된 코드들은 여러종류의 프로세서를 자유롭게 옮겨다니며 사용될 수 없다.(exe, dmg)

컴파일 이전의 소스 코드도 OS별 특징이 있어 각각의 라이브러리를 요구한다.

ex) C, C++, Java

<aside> ✔️ java는 런타임 이전 컴파일을 통해 기계어가 아닌 바이트어로 변경되지만 컴파일 시점 때문에 컴파일 언어라고 부른다.

</aside>

Interpreter

런타임중에 프로그램 한 줄,한 줄을 해석하며 실행한다.

파이썬의 경우 런타임중의 컴파일 과정에서 lexer, parser를 거쳐서 바이트 코드를 만들어 낸다.

<aside> 💡 lexer : 요소를 하나 하나 쪼갠다.

</aside>

<aside> 💡 parser : abstract syntax tree, 구문분석

</aside>

List []

값의 생성, 삭제 수정이 가능

⇒ 딕셔너리의 key값으로 사용 불가능

순서 o

Tuple ()

값 변경 불가능 ⇒ 딕셔너리의 key값으로 사용 가능

1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야함

괄호를 생략 가능

순서 o

⬇️

Packing

여러 개의 값을 하나의 컬렉션으로 묶어 변수에 대입

(예: collection = 1, 2, 3)

Unpacking

컬렉션 속의 요소들을 여러 개의 변수에 나누어 대입

(예: a, b, c = collection)

언패킹 할 때, 대입문 좌변의 변수 하나에 별 기호(``)를 붙여 다른 변수에 대입하고 남은 나머지 요소를 대입할 수 있다.

Dictionary {}

순서 x

key: value ⇒ Hash, Associative Array

순차적으로 해당 요솟값을 구하지 않고 key를 통해 value를 얻음(key는 중복되어선 안됨)

Set

중복 허용 x, 순서 x

⇒ 인덱싱 지원 x (만약 인덱싱 접근하고 싶다면 리스트나 튜플로 변환해서 이용 가능)