Python 파이썬 시작하기
1. 컴파일 언어와 스크립트 언어에 대해
컴파일(compile)언어의 이해
컴파일 언어란?
- 기계어로 컴파일 되는 언어(컴퓨터가 이해할 수 있도록 번역)
- 컴파일 된 코드는 컴퓨터가 가장 이해하기 쉬운 형태로 변형됨
- 컴파일러는 플랫폼마다 다른 특징을 가지고 있음
-> 똑같은 소스코드일지라도 다른 특징을 가지고 있음
컴파일 언어의 종류
- C, C++, C#, JAVA...
스크립트(Script) 언어의 이해
스크립트 언어란?
- 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어
- 연극의 대사 등이 적혀있는 스크립트에서 유래
- 소스코드를 한 줄 씩 바로 읽어 실행하는 인터프리터 방식
- 소스코드를 컴파일하지 않고도 실행할 수 있는 프로그래밍 언어
*인터프리터: 해석기 라는 뜻으로 프로그래밍 언어의 소스코드를 바로 실행하는 컴퓨터 프로그램 또는 환경
스크립트 언어의 활용
- 파이썬 프로그래밍
- 리눅스 쉘(Shell), 윈도우의 배치(Batch) 등 시스템에 사용
- HTML, 자바 스크립트 등의 웹 애플리케이션에 사용
컴파일 언어와 스크립트 언어의 차이
컴파일 언어 | 스크립트 언어 | |
수행 과정 | 일괄 번역, 일괄 수행 | 줄 단위로 번역 및 수행 |
목적 프로그램 | 일괄 수행을 위해 저장 | 불필요 |
런타임 실행 시간 | 빠름 | 느림 |
메모리 | 많이 필요 | 적게 필요 |
스크립트 언어의 장점
- 매번 컴파일 과정이 필요없다
-> 간단한 알고리즘 및 테스트 등 간단한 코드 작성을 하기 좋음
- 줄 위주로 실행하기 때문에 많은 메모리를 필요로 하지 않음
- 문법이 비교적 쉬워 초보자가 배우기 적합한 언어
스크립트 언어의 단점
- 실행시간이 오래 걸림
- 프로그램을 실행할 때마다 번역을 새롭게 해야함
- 보안성이 컴파일 언어보다 떨어짐
2. 파이썬 언어의 이해와 특징
파이썬(Python) 언어의 특징
- 사전적 의미: 독이 없는 뱀으로 먹이를 몸으로 감아서 압사시키는 큰 뱀, 그리스 신화에 나오는 악마
- 파이썬 유래: 귀도가 크리스 마스 휴가 보내며 심심해서 만들고 즐겨보던 코미디 프로그램에서 명명
파이썬의 핵심 철학
효율, 가독성, 간단한 코드
복잡함이 난해한 것보다 낫다
단순함이 복잡함 보다 낫다
명시적인 것이 암시적인 것보다 낫다
아름다운게 추한 것보다 낫다
가독성이 즁요하다
- 대화 가능의 인터프리터 언어
- 동적인 데이터 타입 결정을 지원
- 플랫폼에 독립적인 언어(똑같은 코드를 윈도우, 맥, 리눅스에서 별도의 과정 없이 실행가능)
- 간단한 프로그램을 빠르게 작성하고 테스트 할 수 있는 언어
(실행 결과를 바로 확인할 수 있는 장점, 실행의 효율성 보다 개발 기간 단축에 보다 초점)
- 간단하고 쉬운 문법
- 들여쓰기 필수
- 고수준의 내장 객체 자료형 제공
파이썬 언어의 활용
- 4차 산업, 빅 데이터 분석, 인공지능(AI), 사물인터넷(IoT) 등
- 웹 프로그래밍, Flask, Django 프레임워크 제공
- 게임 프로그래밍, GUI
- 데이터베이스 프로그래밍
파이썬 언어의 장점
- 직관적이고 문법이 쉬워 배우기 쉬움
- 들여쓰기를 철저하게 지키도록 설계 (코드의 가독성 및 유지보수 향상)
- 메모리를 개발자가 신경 쓸 필요는 없음 (자동관리)
- 많은 수의 라이브러리 제공, 특히 4차 산업 혁명과 관련된 주요 라이브러리 제공
- 짧은 코드로 작성이 가능하고 유지보수가 쉬움
파이썬 언어의 단점
- 인터프리터 언어로 엔터프라이즈(대기업) 급 프로그래밍을 하기에는 속도가 느림
- 모바일, 시스템 프로그래밍을 하기에는 적절하지 않다
파이썬 통합 개발 환경
통합개발환경(IDE) 참고 링크
https://ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EA%B0%9C%EB%B0%9C_%ED%99%98%EA%B2%BD
PyCharm
Jupyter Notebook
이클립스(Eclipse)
VSCode
텍스트 에디터(메모장, Sublime Text 등)
파이썬 전용 아나콘다(Anaconda)
수학, 과학 분야에서 필요한 중요한 라이브러리들(Numpy, Pandas..)을 함께 설치
필요에 따라 환경을 여러개 만들어 각자 다른 환경에서 프로그래밍 할 수 있음
최근 4차 산업혁명 관련해 IT분야에서 파이썬을 많이 활용
->아나콘다가 거의 정석처럼 사용되고 있는 추세