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 지향
스테핑, 중단점 및 호출 스택 확인을 위한 통합 디버깅 환경 제공
– 파이썬 공식 홈페이지에서 다운로드 가능
2) 주피터 노트북
– 오픈소스 웹 기반 양방향 개발 및 실행 환경(플랫폼)
· Python을 포함한 40개 이상의 프로그래밍 언어 지원
웹 기반, 기존의 소스 코드 컴파일 실행 방식에서 벗어나 인터렉티브 개발 및 실행 환경
쉽게 문서화하고 다른 사람과 공유
코드 관련 제목 및 설명은 마크다운을 사용하여 작성할 수 있습니다.
3) 구글 코랩
– 과학 연구 및 교육용으로 2017년 개발
– 클라우드 기반 Jupyter Notebook 개발 환경
· 주피터 노트북 + 구글 드라이브 통합 서비스
데이터 분석 및 딥 러닝 계산과 같은 강력한 컴퓨팅 리소스 활용