📘 Python 계단밟기
제01장 첫 번째 계단밟기
05. Python이란?
1. 프로그램이란?
어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문의 집합체.
컴퓨터란?
많은 양의 데이터를 정확하고 빠르게 자동으로 처리할 수 있는 기계
컴퓨터의 특징
- 신속성 : 입력된 데이터를 보다 빠른 시간 내에 처리하여 원하는 결과를 얻을 수 있다.
- 대량성 : 한꺼번에 많은 양의 자료를 기억하거나 처리할 수 있다.
- 정확성 : (신뢰성) 자료처리 과정에서 발생가능한 오차를 최소화하여 정확한 결과를 얻을 수 있다.
- 호환성 : 다른 컴퓨터나 매체에서 작성한 자료도 공유하여 처리할 수 있다.
- 자동성 : 입력된 자료를 프로그램이라고 하는 정해진 처리 순서에 따라 자동으로 처리한다.
- 범용성 : 여러 가지 분야에 다양하게 사용된다.
- 수동성 : 컴퓨터는 데이터를 주어진 프로그램에 따라 처리할 뿐 스스로 작업을 수행할 수 없다.
컴퓨터 프로그램이란?
컴퓨터가 알아들을 수 있는 명령어를 이용하여 컴퓨터에게 작업을 지시하는 작업지시서
2. 프로그래밍 언어란?
주어진 어떤 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능하게 하는 인공적인 언어
>> 이 언어를 통하여 사용자는 컴퓨터에게 일련의 일을 시키는 명령어의 집합체인 프로그램을 작성할 수 있다.
프로그래밍 언어의 특징
- 간결성 : 사람이 프로그램을 쉽게 이해하고 읽을 수 있도록 간결하게 표현할 수 있다.
- 직교성 : 언어의 각 구성요소가 상호 독립적이고 어떤 환경에서도 그 구성요소가 같은 의미로 사용된다.
- 가독성 : 사람이 이해하기 쉽도록 작성된 문법, 주석 등이 가독성의 향상에 도움이 된다.
- 정확성 : 잘 정의된 문법은 정확성을 보장한다. 각 언어의 문법은 대부분이 세계 표준이다.
- 기계 독립성 : 서로 다른 컴퓨터 상에서 항상 같은 결과를 요구한다.
프로그래밍 언어의 종류
- 저급언어 : 컴퓨터 개발 초창기에 사용되던 프로그래밍 언어이다.
- 기계어와 어셈블리어로 나뉜다.
- 고급언어: 사용자 중심의 언어로 사람이 쓰는 자연어에 가까운 프로그래밍 언어이다.
- C/C++, JAVA, Python, Basic 기타...
📝 고급언어로 만들어진 모든 프로그램은 실행되기 전, 컴퓨터가 이해할 수 있는 기계어로 변환되어야 한다.
이를 위해서 컴파일러, 인터프리터를 이용하여 코드를 변환한다.
- 컴파일러 : 한 프로그램을 한꺼번에 번역한 뒤 실행한다
- 예) C/C++, JAVA 등
- 인터프리터 : 명령어 단위로 한 행씩 번역해 가며 실행한다
- 예) Python, Basic 등
3. Python 언어란?
1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어이다.
플랫폼이 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다.
비영리의 파이썬 소프트웨어 재단이 관리하는 개방형, 고동체 기반 개발 모델을 가지고 있다.
C언어로 구현된 C파이썬 구현이 사실상이 표준이다.
주요 특징
- 실행 시간에 자료형을 검사하는 동적 타이핑(dynamic typing)을 지원한다.
- 객체의 멤버에 무제한으로 접근할 수 있다.
- 모듈, 클래스, 객체 등과 같은 언어의 요소가 내부에서 접근할 수 있다.
- 리플렉션을 이용한 기술을 쓸 수 있다.
해석 프로그램의 종류
- C파이썬 : C로 작성된 인터프리터
- 스택리스 파이썬 : C 스택을 사용하지 않는 인터프리터
- 자이썬 (제이파이썬 : JPython) : 자바 가상 머신용 인터프리터
- IronPython : .NET 플랫폼용 인터프리터
- PyPy : 파이썬으로 작성된 파이썬 인터프리터
'공부 > Python 공부' 카테고리의 다른 글
[Python] 파이썬 프로그래밍의 기초, 자료형_숫자형 (0) | 2025.01.06 |
---|---|
[Python] 모듈의 사용(import) (0) | 2025.01.03 |
[Python] Python 표준 입출력, 표준 입력 (0) | 2025.01.03 |
[Python] Python 표준 입출력, 표준 출력 (1) | 2025.01.02 |
[Python] 주석, 들여쓰기, 행결합/행분리 (2) | 2025.01.02 |