Programming/Python

이라는 책과 함께 leetcode 문제들을 풀어나가던 중, 재밌는 사실을 하나 발견해 정리해둔다. 제목에서 밝혔듯, 리스트의 참조와 복사에 관한 것인데, 아래 글을 보기 전 문제를 먼저 풀어보는 것 역시 좋을 것 같다. 리스트의 참조와 복사 코드로 바로 확인해보자. x = [1,2,3] a = [] b = [] c = [] d = [] for i in [x,a,b,c,d]: print(f'{i} {id(i)}', sep = '\n') ## output: # x: [1, 2, 3] 2041683749184 # a: [] 2041683745792 # b: [] 2041682954048 # c: [] 2041683739200 # d: [] 2041683748928 위와 같은 원본 리스트와 빈 리스트들이 주어지..
파이썬은 인터프리터 언어이기때문에 느리다? 흔히들 파이썬을 인터프리터 언어(interpreter language)라고 부른다. 그리고 인터프리터 언어 특성상, 파이썬은 너무 느려서, 파이썬을 공부하는 대신 C나 C++같은 컴파일 언어들을 공부하는 것이 낫다고 주장하는 사람들도 많다. 그러나 파이썬은 아래 표에서도 확인할 수 있듯, 파이썬은 그 실행속도가 Perl이나 Ruby와 같은 전통적인 인터프리터 언어들보다 유의미하게 빠르다. 같은 인터프리터 언어임에도,이러한 속도 차이가 발생하는 이유는 무엇일까? 이는 파이썬의 소스코드를 실행할 때, 암묵적으로 다음과 같은 과정들을 거치기 때문이다. 파이썬이 소스코드를 실행하는 방법 1. 파이썬은 소스코드를 바이트코드로 컴파일한다. 우리가 파이썬 소스코드를 실행하면..
Jongbin Won
'Programming/Python' 카테고리의 글 목록