https://www.notion.so/anaconda-89166daf80e84e0a8ce6017ccf71e1fc
런타임 이전에 기계어(혹은 Java의 경우 바이트 코드)로 변환 되는 언어
어셈블리어는 cpu에 의존적이기 때문에, 컴파일 된 코드들은 여러종류의 프로세서를 자유롭게 옮겨다니며 사용될 수 없다.(exe, dmg)
컴파일 이전의 소스 코드도 OS별 특징이 있어 각각의 라이브러리를 요구한다.
ex) C, C++, Java
<aside> ✔️ java는 런타임 이전 컴파일을 통해 기계어가 아닌 바이트어로 변경되지만 컴파일 시점 때문에 컴파일 언어라고 부른다.
</aside>
파이썬 실습
메모장이나 sublime text와 같은 에디터를 사용하여 코드를 작성하고 확장자 .py로 파일을 저장
이후 cmd를 통해 python "코드 경로/파일명.py" 를 실행
런타임중에 프로그램 한 줄,한 줄을 해석하며 실행한다.
파이썬의 경우 런타임중의 컴파일 과정에서 lexer, parser를 거쳐서 바이트 코드를 만들어 낸다.
<aside> 💡 lexer : 요소를 하나 하나 쪼갠다.
</aside>
<aside> 💡 parser : abstract syntax tree, 구문분석
</aside>
파이썬 실습
Win + R
cmd 입력을 통해서 cmd 창을 띄우고 실행한 cmd 창에서 python을 입력하여 python 인터프리터를 실행
인터프리터 상태에서 코드 실습 진행
값의 생성, 삭제 수정이 가능
⇒ 딕셔너리의 key값으로 사용 불가능
순서 o
값 변경 불가능 ⇒ 딕셔너리의 key값으로 사용 가능
1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야함
괄호를 생략 가능
순서 o
여러 개의 값을 하나의 컬렉션으로 묶어 변수에 대입
(예: collection = 1, 2, 3
)
컬렉션 속의 요소들을 여러 개의 변수에 나누어 대입
(예: a, b, c = collection
)
언패킹 할 때, 대입문 좌변의 변수 하나에 별 기호(``)를 붙여 다른 변수에 대입하고 남은 나머지 요소를 대입할 수 있다.
순서 x
key: value ⇒ Hash, Associative Array
순차적으로 해당 요솟값을 구하지 않고 key를 통해 value를 얻음(key는 중복되어선 안됨)
중복 허용 x, 순서 x
⇒ 인덱싱 지원 x (만약 인덱싱 접근하고 싶다면 리스트나 튜플로 변환해서 이용 가능)