본문 바로가기

Language/Python

(11)
Python 03 - 파이썬의 장단점 (동적언어 vs 정적언어) 파이썬의 다른 언어와 차이점에는 코드의 번역 방식뿐만아니라 변수 타입의 처리 방식도 있다. 변수 타입의 처리 방식에 따라 동적언어와 정적언어로 나뉜다. 동적 언어는 변수의 타입이 정해지는 시점이 코드가 실행되는 단계이다. 코드가 실행되는 동안 변수의 타입이 유연하게 변할 수 있으며 이러한 특징 때문에 생산성을 올리기 좋다. 한줄한줄 실행해가는 인터프리터 방식과 합이 좋음을 알 수 있다. 하지만 변수의 타입이 정해져 있지 않고 변할 수 있다는 특징 때문에 오류가 발생할 위험이 크다, 즉 안정성이 상대적으로 떨어진다. 이에 반해 정적언어는 변수의 타입이 컴파일 시점에 정해진다. 그래서 컴파일 단계에서 오류를 미리 검증할 수 있기 때문에 실행했을 때 안정성이 뛰어나다. 하지만 코드를 작성하는 단계에서는 자료형..
Python 02 - 파이썬의 장단점 (인터프리터 언어 vs 컴파일 언어) 한국인들은 한글, 미국인들은 영어, 중국인들은 중국어, 일본인들은 일본어와 같이 사람들은 각자 나라마다의 언어를 가지고 소통을 한다. 이와 같이 컴퓨터도 자신들만의 소통 언어가 있는데 바로 0과1로만 이루어진 기계어이다. 우리가 파이썬과 c,java와 같은 프로그래밍 언어들은 인간 친화적인 High level 언어이다. 우리가 프로그래밍 언어를 이용해서 짠 코드를 컴퓨터가 이해하기 위해서는 low level 언어인 기계어로 번역을 해서 전달해주어야한다.  그 번역기는 방식에 따라 여러 툴이 존재하는데 대표적인 두개는 인터프리터와 컴파일러다. 인터프리터 방식은 코드를 위에서부터 한줄씩 기계어로 번역해가며 컴퓨터와 소통하는 방법이다. 컴파일 방식은 코드를 처음부터 끝까지 한번에 번역 후 기계어로 번역된 스크..
Python 01 - 변수와 객체 with 리터럴 파이썬은 매우 인간친화적인 프로그래밍 언어로 간단한 문법과 다양한 프레임워크를 지원한다. 메모리 관리에 있어서도 사용자가 직접 관리하지 않아도 되기에 코드의 생산성을 높일 수 있는 장점이 있다. 이런 인간친화적인 파이썬에서 변수란 어떤 의미를 가지고 있을까? 변수는 하나의 객체를 담는 공간을 의미한다.여기서 객체는 컴퓨터가 인식한 데이터로 문자열,숫자,데이터 구조 등등 모든 데이터를 의미한다 (객체에 대한 자세한 내용은 이후에 따로 정리를 할 예정이다). 그렇다면 컴퓨터는 어떻게 객체를 인식할까? 이걸 알기 위해서는 파이썬의 동작에 대해 자세히 알 필요가 있다.파이썬은 객체를 선언함과 동시에 이를 변수에 할당하며 객체를 사용한다. 예를들어 a = "hello"와 같이 "hello"와 같은 문자열 객체를 ..