본문 바로가기
카테고리 없음

파이썬(Python)에 대해 알아보기

by am6:00 2023. 2. 12.

파이썬이란

파이썬 문법을 공부하기 전에 파이썬이란 언어에 대해 먼저 알아보면 좋을것 같아 정리해보았습니다. 파이썬은 1991년 귀도 반 로섬이 발표한 고급 프로그래밍 언어로 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어입니다. 또한 파이썬은 인터프리터 언어로 동작하지만 파이썬은 소스 코드를 컴파일 하여 바이트 코드(Byte code)를 만들어내 수행할 때에 빠른 속도를 보여줍니다. 자바에서는 ;(세미콜론)을 이용해 코드의 블록을 구분하지만 파이썬에서는 들여쓰기를 이용해 블록을 구분하는 문법을 채용하고 있습니다. 

1. 인터프리터식

인터프리터는 영어로 interpreter 라고 하는데 한국말로는 해석기 라는 의미를 가지고있습니다. 인터프리터는 프로그래밍 언어의 소스코드를 바로 실행하는 컴퓨터 프로그램이나 환경을 말합니다. 이는 원시 코드를 기계어로 번역하는 컴파일러 언어인 java와 대비되는 특징입니다.

인터프리터는 고급언어(C, Java, Python 등 사람이 이해하기 쉬운 언어)로 작성된 코드 명령어들을 한번에 한 줄씩 읽어들여서 실행하는 프로그램입니다. 고급언어로 작성된 프로그램을 실행하는데에는 두가지 방법이 있는데요. 가장 일반적인 방법은 프로그램을 컴파일 하는 것이고 다른 하나는 프로그램을 인터프리터에 통과시키는 방법입니다. 기계어 명령어들이 만들어지는 컴파일 단계를 거칠 필요가 없으니 인터프리터는 고급 프로그램을 즉시 실행시킬 수 있습니다. 이러한 인터프리터 덕분에 Python Shell에서 interpreter mode 로 코드를 확인하며 작성할 수 있습니다(바이트 코드 생성). 그래서 플랫폼에 구애받지 않는다는 말이 바이트 코드(Byte code)를 바로 실행할수 있는 특징에서 나왔습니다. 

 

2. 객체지향

객체 지향 프로그래밍은 프로그램을 유연하고 변경 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용됩니다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 객체들의 모임으로 파악하고자 하는것이라고 합니다. 객체지향 프로그램은 객체들은 메시지를 주고 받고 데이터를 처리 할 수 있도록 구성하는것이라 할 수 있습니다. 객체지향은 커다란 주제인 만큼 여기서는 간단하게 객체지향의 3대 특성만 언급하고 마무리하겠습니다.

객체지향의 3대 특성은 첫번째로 캡슐화가 있습니다. 캡슐화는 데이터를 감추고 외부와 통신은 메소드를 통하는 방식입니다. 두번째로는 상속은 이미 작성된 클래스를 이어받아서 새로운 클래스를 생성해 기존 코드를 재활용해서 사용하는것을 말합니다. 세번째로는 다형성입니다. 동일한 작업을 하는 함수들에 동일한 이름을 부여해 코드가 간결해지도록 합니다.

 

3. 동적 타이핑

동적 타이핑은 쉽게 말해서 파이썬 변수를 선언할때 int, string 과 같은 type을 작성하지 않는것을 말합니다. 변수를 지정할때 해당 변수의 타입을 프로그래머가 명시하지 않고 컴퓨터가 알아서 해석하도록 두는것입니다. 예를들어 파이썬 코드에서 abc = "hello world" 라고 작성했을때 abc를 string이라 명시하지 않아도 컴퓨터는 스스로 문자열이라 해석합니다. 이런 방식은 코드를 간결하게 해주지만 데이터 타입이 무엇인지 파악을 컴퓨터에게 맞기기 때문에 실행속도가 느려지는 단점이 있습니다. 이를 해결하기 위해 type hint를 코드에 명시적으로 표기해주기도 합니다.

abc: String = "hello world"

 

그 외에도 파이썬은 다른 단어로 쓰인 모듈을 연결하는 접착제 언어의 역할을 하기도 하고 실제 파이썬은 많은 응용 프로그램에서 스크립트 언어로 사용되고 있습니다.