본문 바로가기
Python

Python

by oncerun 2023. 4. 24.
반응형

 

 

네덜란드 개발자인 Guido van Rossum (히도 판로 쉼)이 1991년 개발했다. 

 

원래는 분산 운영체제의 시스템 관리를 위한 쉘 스크립팅 언어로 개발하려고 했다.

 

파이썬은 상당히 많은 패러다임을 차용했다. 

 

명령형, 절차적, 객체지향 ,함수형 프로그래밍을 전부 지원한다. 

 

그리고 파이썬은 상당히 많은 분야에서 사용된다. 

 

응용 프로그램, 웹, 백 엔드, 사물 인터넷 분야뿐만 아니라 교육적인 목적으로도 많이 활용된다. 

 

 

91년 ABC의 후속 프로그래밍 언어로 시작하고 DARPA에 누구나 할 수 있는 컴퓨터 프로그래밍이라는 주제로 제안서를 제출한다. 

 

00년에 파이썬 2.0이 출시되고 파이썬은 커뮤니티를 통한 개발 체계를 시작한다.

 

자바나 c#과 같은 언어는 마이크로소프트, 오라클이라는 조직에서 만든 만큼 해당 조직의 방향성과 일치되게 개발되기 마련이지만 반대로 파이썬은 커뮤니티를 중심으로 개발된다.

 

08년 파이썬 3.0이 출시되고 비 하위 호환성을 갖는 메이저 업데이트이다. ( 2030년까지)

 

Pythonic

 

1. 플랫폼 독립적

2. 오픈 소스
 오픈소스이기에 개선을 위한 제안인 PEP를 제안할 수 있다.

 그 중 PEP 8은 스타일 가이드로 대표적인 제안이다. 

3. 자연어와 굉장히 유사함.

4. 많은 라이브러리, 프레임워크가 있어 생산성이 좋다.

5. 매우 직관적이다. 

 

 

다만 C나 자바 등으로 작성된 프로그램보다 느린 속도. 그리고 완전한 애플리케이션을 단독으로 개발하기엔 무리가 있다고 한다.  모바일 앱 등 응용 애플리케이션을 개발하는 것은 힘들다. 

 

파이썬은 윈도 리눅스 유닉스 맥 OS 등 다양한 운영체제에서 별도의 컴파일 없이 실행이 가능하다. 즉 인터프리터식이다. 

CPython, PyPy, Cython, Jython 등과 같이 다양한 인터프리터 환경을 사용할 수 있다.

 

그리고 파이썬은 타입이 없다. 동적 타이핑 언어로 변수의 자료형을 지정하지 않다.

 

 

컴파일러 유형을 알아보자.

 

셀프 호스팅 컴파일러: 부트스트래핑 단계를 통해 자신의 언어로 작성한 컴파일러이다. 

 

소스 대 소스 컴파일러 : 타 언어로 작성한 컴파일러.

 

CPython은 C언어로 개발된 파이썬의 인터프리터이다. 

다음과 같은 순서로 진행된다.  코드 -> 컴파일러 -> 바이트 코드 -> 파이썬 가상 머신 -> 기계어

 

 

파이썬 환경

 

IDLE 

 

기본으로 포함된 파이썬의 통합 개발 환경이다. 파이썬과 Tkinter GUI 툴킷으로 개발된 환경이다. 

구문 강조, 자동 완성, 스마트 들여 쓰기 등 단순한 IDE이다. 

당연하게 stepping, breakpoint, call stack 등 통합 디버거 환경을 제공한다.

 

주피터 노트북

 

 

오픈소스 기반의 웹 플랫폼이다. 

 

파이썬을 비롯한 40여 개의 프로그래밍 언어를 지원한다. 

 

웹 기반으로 대화형 개발 및 실행 환경이다. 인터프리터로  IPython을 사용한다. 

 

문서화하여 다른 사람과 공유하기도 편리하고 마크 다운을 이용하여 코드 관련 타이틀, 설명 등 작성할 수 있다.

 

 

 

구글 Colab

 

17년도 과학 연구와 교육을 목적으로 개발되었다. 일부 유료지만 대부분 무료로 사용할 수 있다.

 

클라우드 기반 주피터 노트북 개발 환경을 제공한다. 

 

데이터 분석 및 딥러닝 연산 등 고성능 컴퓨팅 리소스 활용 가능하다(유료) 즉 클라우드로 별도의 설치 없이 파이썬 IDE를

 

사용할 수 있는 것이다. 컴퓨터는 구글이 제공해 준다.

 

 

 

https://colab.research.google.com/?hl=ko 

 

Google Colaboratory

 

colab.research.google.com

 

 

구글 드라이브를 사용할 수 있다는 것도 매우 매리트인 것 같다.

 

 

주피터 노트북은 설치도 귀찮은데 colab도 나쁘지 않은 것 같다.

 

 

간단하게 실습을 진행해 보자.

 

역시 Hello world 지.

 

 

초기 실행에 GCP로 자원할당하기 위해 실행 시간이 조금 걸린다.

 

 

고성능 컴퓨터가 필요하면 구독을 통해 리소스를 사용하면 될 듯하다. 다만 간단한 공부 목적으로는 별도의 구독을 하지 않아도 되는 것 같다.

 

무료도 13GB 램이랑 107GB 디스크를 주는데 나쁘지 않은 성능이다. 

 

이와 같은 코드를 누르면 코드 창이 추가되고 텍스트를 누르면 텍스트를 입력할 수 있는 창을 제공해 준다.

 

실행은 Ctrl + Enter로 단축키를 통해 실행할 수 있다. 

 

코드를 분리하면 중간중간 대화형으로 코드의 결과를 확인할 수 있다. 

 

텍스트는 마크다운 기반의 텍스트를 입력할 수 있다. 

 

 

에디터답게 설정창도 제공한다.

 

 

 

 

이건 뭘까? 

?...

 

 

폴더 모양 아이콘을 통해 Google Drive를 마운트 하여 사용할 수 있다. 

 

Dirve에 Colab Notebooks 폴더 하위에 작성된 코드가 저장되게 되고 손쉽게 어디서나 다시 로드할 수 있다는 것은 매우 매력적인 것 같다.

 

 

반응형

'Python' 카테고리의 다른 글

Module  (0) 2023.05.05
class  (0) 2023.05.05
function  (0) 2023.05.05

댓글