본문 바로가기
AI기초

파이썬(Python)의 개요 인터프리터 언어 객체지향 프로그래밍 동적타이핑언어

by AI가요즘대세라던데 2023. 3. 16.

최근 컴퓨터공학이 발달하고 주목받으면서 특정 학과가 아닌 문과도 Coding을 할 수 있다! 등 다양한 생존방식이 거론되고 있다. C++, JAVA등 어려운 프로그래밍보다는 파이썬, R Studio를 선호하는 경향이 나타나고 있는데 그 이유와 간단한 설명 및 기초개념에 대해 설명토록 하겠다.

파이썬(Python)의 개요

파이썬(Python)은 인터프리터 언어로, C언어나 자바와 같은 컴파일러 언어와는 다르게 코드를 한 줄씩 실행시키면서 결과를 바로 확인할 수 있다. 즉, 간결하고 읽기 쉬운 문법을 가지고 있어 초보자도 쉽게 배울 수 있다. 파이썬의 활용성에 대해 이야기하자면 다양한 분야에서 사용되며, 데이터 분석, 인공지능, 웹 개발, 게임 개발 등 다양한 분야에서 활용된다. 또한 파이썬은 다양한 라이브러리와 프레임워크가 존재하여 개발 속도를 높일 수 있습니다. 특징으로써 객체 지향 프로그래밍(OOP)을 지원하며, 함수형 프로그래밍도 가능하다. 또한 동적 타이핑 언어로, 변수의 타입을 미리 선언하지 않아도 된다. 다양한 운영체제에서 사용할 수 있으며, 무료로 제공되고 있다. 파이썬을 설치하면 IDLE이라는 통합 개발 환경을 사용하여 코드를 작성하고 실행할 수 있다. 처음 파이썬을 접하는 사람이라면, 무슨소리일까 하는 생각이 들 수 있다. 특징으로 인터프리터, 객체지향, 동적타이핑 순으로 확인해보자.

인터프리터언어

인터프리터 언어란, 소스코드를 한 줄 한 줄 읽어가며 명령을 바로 처리하는 프로그램(언어)이다. 번역과 실행이 동시에 이루어진다. 즉, 인터프리터(interpreter)란, 우리말로 '통역사'라는 뜻인데, 우리가 컴퓨터에 명령을 내리면 한 줄씩 즉시 통역사가 컴퓨터 언어로 바꿔주는 거라고 생각하면 된다. 반면에 컴파일러 언어에 비해 느리다라는 단점이 있다. 컴파일 언어란, 소스코드를 한꺼번에 다른 목적 코드로 번역한 후, 한 번에 실행하는 프로그램(언어)이다. 한 줄씩 명령을 내리는 게 아니라, 명령들을 다 모아놓고 한 번에 실행하는 방식이다. 우리가 인터넷이나, 영화에서보는 코드가 막 적힌 화면 등이 여기에 속한다. 

객체지향 프로그래밍(OOP)

객체지향 프로그래밍(OOP : Object-Oriented Programming)은 컴퓨터 프로그래밍 패러다임 중 하나로, 현실 세계의 객체를 모델링하여 소프트웨어를 개발하는 방법론이다. 객체지향 프로그래밍에서는 객체를 중심으로 프로그래밍을 하며, 객체 데이터와 그 데이터를 처리하는 메서드로 구성됩니다. 이러한 객체들은 상호작용하며 프로그램을 구성하게 된다. 객체지향 프로그래밍은 코드의 재사용성과 유지보수성을 높이는 장점이 있으며, 대규모 프로젝트에서도 효율적으로 개발할 수 있다. 추후에 객체지향 프로그래밍에 대하여 더 깊이 다뤄보고자 한다. 

 

동적타이핑언어

동적 타이핑 언어는 프로그램 실행 중에 변수의 데이터 타입을 결정하는 언어를 말한다. 이는 변수를 선언할 때 데이터 타입을 명시하지 않아도 되며, 변수에 할당되는 값에 따라 데이터 타입이 자동으로 결정된다.

즉, 동적 타이핑 언어는 변수의 데이터 타입을 런타임 시점에 결정하는 언어를 말한다고 볼 수 있다. 예를 들어, 파이썬은 동적 타이핑 언어인데, 다음과 같이 변수를 선언하고 값을 할당할 수 있다. 


x = 10
y = 'Hello, world!'


위 코드에서 변수 x는 정수형 데이터 타입으로, 변수 y는 문자열 데이터 타입으로 자동으로 결정된다.동적 타이핑 언어의 장점은 코드 작성이 간편하다는 것이다. 변수의 데이터 타입을 명시하지 않아도 되므로, 코드 작성 시간이 단축되고 코드의 가독성이 향상된다. 또한, 변수의 데이터 타입을 변경할 수 있어서 유연한 프로그래밍이 가능하다. 하지만, 동적 타이핑 언어는 런타임 시점에 데이터 타입 오류가 발생할 가능성이 있다. 변수에 할당된 값이 예상과 다른 데이터 타입일 경우, 오류가 발생할 수 있다. 따라서, 코드 작성 시 변수의 데이터 타입을 명확하게 파악하고, 변수에 할당되는 값의 데이터 타입을 주의해서 작성해야 한다.

댓글