(Python) 강의 03. Python 이해하기

1. 파이썬 개요

1) 파이썬의 탄생

– 1991년 Guido van Rossum이 개발

· 네덜란드 암스테르담 대학교 컴퓨터 공학

· 좋아하는 코미디 Monty Python’s Flying Circus의 이름을 따서 명명됨

· 크리스마스 주간 연구실에서 무에서 나온 프로그래밍 언어.

– 분산 운영 체제(Ameba)의 시스템 관리를 위한 쉘 스크립팅 언어로 개발

Shell: 사용자가 입력한 명령을 해석합니다. 운영 체제 내의 커널명령 해석기 창

· 스크립트: 명령 잇달아 일어나는다음과 같이 나열됨 어떤 순서로작동해야 명령 집합모양을 바꾸다

다중 프로그래밍 패러다임 고용

· 정의: 프로그램 생성에 대한 접근 방식

· 패러다임 : 현실 세계모델링을 위한 다양한 관점 규제의해서 준비되었다

· 명령형 프로그래밍, 절차적 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍 지원

– 다목적 사용

· 애플리케이션, 웹, 백엔드 개발, 사물 인터넷 및 교육 목적

2) 파이썬 개발 과정

– 1991년 ABC의 후속 프로그래밍 언어로 시작

– DARPA는 1999년에 “모두를 위한 컴퓨터 프로그래밍”을 제안했습니다.

– 2000년 Python 2.0 출시

· 커뮤니티를 통해 개발 프레임워크 시작

– 2008년 Python 3.0 출시

· 이전 버전과의 호환성이 없습니다 큰 업데이트

3) 파이썬

(1) 장점(특징)

① 독립

– 다른 운영 체제와 독립적

② 오픈소스

– 인터프리터의 전체 소스 코드는 공개적으로 사용 가능합니다.

– Python 관련 개선 제안(PEP, Python 확장 제안)

많은 개발자들의 의견을 수렴하고 토론하여 개발한 언어

새로운 Python 기능, Python 프로세스 및 환경에 대한 디자인 문서 및 정보를 커뮤니티에 제공합니다.

Python 기능의 정확한 기술 사양 및 기능에 대한 근거 제공

· 커뮤니티 의견 수렴, 공감대 형성 및 반대 의견 경청

– PEP 8 대표(스타일 가이드)

③ 인간적이고 직관적

– 인간: 자연어와 유사

– 직관적: 생각하는 대로 코딩할 수 있습니다.

– 실행 가능한 의사 코드 수준의 문법

④ 속도와 생산성

– 자연어와 유사한 문법 구조

⑤ 대규모 개발자 커뮤니티

⑥ 라이브러리 및 프레임워크

– 라이브러리: 일반적으로 사용되는 프로그래밍 구성 요소가 포함된 기성 프로그램 모음

(2) 단점

– C 또는 Java로 작성된 프로그램보다 느림

– 완전한 애플리케이션을 독립적으로 개발할 수 없음

· 쉘 스크립팅 언어용으로 개발

· 모바일 앱 등의 애플리케이션 개발 불가

→ 러스트 또는 이동을 생각하십시오


2. 파이썬 프로그램 실행

1) 파이썬 실행 환경

플랫폼 독립~이다 통역사 객체 지향적, 동적으로 입력 대화 언어

· 플랫폼 독립적: 별도의 컴파일 없이 Windows, Linux, Unix, MacOS 등 다양한 운영체제(플랫폼)에서 실행 가능

· 통역사 표현: CPython, PyPy, Cython, Jython 등 다양한 인터프리터 환경 사용 가능

· 객체 지향: 프로그램을 객체로 모델링

· 동적으로 입력됨: 변수의 데이터 유형을 지정하지 않음

· 속어: 작성된 코드의 실행 결과를 바로 확인하고 디버깅하면서 코드를 작성할 수 있습니다.

2) 사이파이썬

– C언어로 개발된 파이썬 인터프리터

C 구현 라이브러리와 연동하여 확장에 최적화

(컴파일러의 종류)

① 자체 호스팅 컴파일러 : 부트스트래핑 단계를 통해 자신의 언어로 작성된 컴파일러

② 소스 대 소스 컴파일러 : 다른 언어로 작성된 컴파일러

– 오픈소스로 커뮤니티 기여를 통한 지속적인 개발

· https://github.com/python/cpython

3) 파이썬 프로그램 실행 과정

– Python 응용 프로그램은 소스 코드 형태로 배포됩니다.

바이트코드 .pyc 파일은 Cpython이 컴파일된 후에 생성됩니다.

Python 가상 머신은 바이트코드를 한 줄씩 실행합니다.

수정 없이 재실행 시 바이트코드로 빠른 실행


출처-한국방송통신대학교


3. 파이썬 프로그래밍 환경

1) 유휴

– 기본적으로 Python 통합 개발 환경 포함

· Python 및 Tkinter GUI 툴킷으로 개발

구문 강조, 자동 완성, 스마트 들여쓰기 등의 간단한 IDE 지향

스테핑, 중단점 및 호출 스택 확인을 위한 통합 디버깅 환경 제공

– 파이썬 공식 홈페이지에서 다운로드 가능

· http://www.python.org

2) 주피터 노트북

– 오픈소스 웹 기반 양방향 개발 및 실행 환경(플랫폼)

· Python을 포함한 40개 이상의 프로그래밍 언어 지원

웹 기반, 기존의 소스 코드 컴파일 실행 방식에서 벗어나 인터렉티브 개발 및 실행 환경

쉽게 문서화하고 다른 사람과 공유

코드 관련 제목 및 설명은 마크다운을 사용하여 작성할 수 있습니다.

3) 구글 코랩

– 과학 연구 및 교육용으로 2017년 개발

– 클라우드 기반 Jupyter Notebook 개발 환경

· 주피터 노트북 + 구글 드라이브 통합 서비스

데이터 분석 및 딥 러닝 계산과 같은 강력한 컴퓨팅 리소스 활용