Search

Python 00. Python에 대하여

Created at
2018/07/01
Updated at
2021/01/19
Tags
Keywords
3 more properties
목차

1. Python이란?

1991년 귀도 반 로섬 (Guido Van Rossum)이 발표
interpreted high-level programming language
고급언어일수록 사람과 친화적
플랫폼 독립적 언어
인터프리터 언어
객체 지향 언어
동적 타이핑 언어
처음엔 C언어로 구현되었음
파이썬의 종류
Cpython: C로 만들어진 파이썬. 우리가 말하는 일반적인 파이썬
Jython: Java로 만들어진 파이썬
IronPython: C#으로 만들어진 파이썬
Pypy: Python으로 만들어진 파이썬. Cpython보다 빠르게 수행되는 것을 목표로 함 (http://pypy.org/)

1.1 플랫폼 독립적 언어

'플랫폼' = OS
윈도우, 리눅스, 안드로이드, 맥OS, iOS 등 프로그램이 실행되는 운영 체제를 플랫폼이라고 함
'독립적'
OS에 상관없이 한번 프로그램을 작성하면 어디서든 사용 가능

1.2 인터프리터 언어

컴퓨터 프로그래밍 언어는 크게 컴파일러 방식인터프리터 방식 두 가지로 나누어짐
컴파일러 언어: 모든 코드를 컴파일링 후에 컴퓨터에서 처리 → 처리속도가 빠르지만 프로그램 실행을 위해 컴파일링 시간을 기다려야 함
인터프리터 언어 = 통역기를 사용하는 언어
소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법
한 줄 씩 컴파일링 하면서 코드를 수행
처리속도가 느리지만 컴파일링 시간 없이 바로바로 프로그램이 실행됨
최근에는 컴퓨팅 파워가 발전하면서 작성이 간단한 인터프리터 언어가 발전
코드를 (컴퓨터 자원을 효율적으로 쓸 수 있도록) 잘 만들면 컴퓨터가 효율적으로 일할 수 있다!
컴파일러 언어
인터프리터 언어
작동방식
- 소스코드를 기계어로 먼저 번역 - 해당 플랫폼에 최적화되어 프로그램을 실행
별도의 번역과정 없이 소스코드를 실행시점에 해석하여 컴퓨터가 처리할 수 있도록 함
장점 & 단점
- 실행속도가 빠름 - 한번에 많은 기억장소 필요
- 간단히 작성, 메모리가 적게 필요 - 실행속도가 느림
주요 언어
C, 자바, C++, C#
파이썬, 자바스크립트, 스칼라

1.3 객체 지향적 언어

실행 순서가 아닌 단위 모듈(객체) 중심으로 프로그램을 작성
실제 세계를 모델링, 공통적인 기능을 묶어서 개발하는 방식으로, 추상화/캡슐화/상속/다형성의 특징을 가짐
하나의 객체는 어떤 목적을 달성하기 위한 행동(method)과 속성(attribute)을 가지고 있음
반대 개념은 절차지향

1.4 동적 타이핑 언어

인터프리터 언어의 특징 중 하나
실행하는 시점에 프로그램이 사용해야 할 데이터에 대한 타입을 결정함
변수 선언시 데이터 타입을 지정해주지 않아도 데이터에 따라서 자동으로 타이핑

2. 왜 python인가?

쉽고 간단하며 다양한 기능을 제공
https://github.com/vinta/awesome-python 파이썬으로 할 수 있는 것들

2.1 인간 지향적인 간단한 문법

얼마나 간단한가?
화면에 "Hello World!"를 찍기 위한 코드를 다른 언어와 비교해보자
먼저 자바의 경우 다음과 같이 써야 한다(고 한다.)
class HelloWorldApp { public static void main(String[] args) { System.out.printIn("Hello World!") } }
Java
복사
python의 경우 훨씬 간단하다
print("Hello World!")
Python
복사
화면에 1부터 10까지 순서대로 출력하는 코드도 비교해보자
먼저 자바의 경우 다음과 같이 써야 한다(고 한다.)
for (i=1; i< 11; i++{ System.out.printIn (i) }
Java
복사
python의 경우 훨씬 간단하다
 for i in range(1, 11):      print(i)
Plain Text
복사

2.2 다양한 라이브러리와 넓은 활용 범위

파이썬은 다양한 라이브러리가 이미 다른 사용자에 의해 구현되어 있음
특히 통계와 데이터분석 분야의 라이브러리가 강력
파이썬 라이브러리의 편리함을 보여주는 재미있는 meme을 하나 보자

2.3 가장 대중화된 언어

파이썬은 최근 가장 널리 쓰이고 있는 언어 중 하나로, 강한 커뮤니티가 구축되어 있음
한 줄 요약: "Life is short. You need Python!"
참고자료
인프런, ⟪프로그래밍, 데이터 과학을 위한 파이썬 입문⟫ 수업 자료