AI/파이썬

파이썬 02 파이썬 시작

Ayel 2026. 4. 12. 14:17

 

 

파이썬의 시작

 

 

1. 파이썬의 기원

 

1) 파이썬의 개발 배경

- 1991년 히도 판 로쉼(Guido van Rossum)이 개발

- 네덜란드 암스테르담 대학에서 컴퓨터 전공

- 크리스마스 휴가 기간 프로그래밍 프로젝트에서 시작

- 코미디 'Monty Python's Flying Circus'를 따서 명명

 

- 파일관리, 프로그램 실행, 반복 작업 자동화 등의 기능을 수행하는 언어 체계 용도로 개발

- 프로그래밍을 더욱 인간 친화적이고 접근 가능한 분야로 혁신적으로 변화

 

2) 파이썬의 기본 철학

- 읽기 쉽고 간결한 문법

 

- 프로그래밍 패러다임, 문법에 따라 다양한 표현 가능

- 다중 프로그래밍 패러다임 채용

 

- 알고리즘을 프로그래밍 언어로 표현하는 접근 방식

- 명령형 프로그래밍, 절차적 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍 패러다임 등

 

- 다목적 활용: 응용 프로그램, 웹/백엔드 개발, IoT, 데이터과학, 인공지능&딥러닝 뿐만 아니라 교육 목적으로도 활용

 

 

2. Pythonic

 

1) Pythonic의 의미

단순히 파이썬으로 작성된 코드가 아닌

명료하고 아름답게 문제를 해결하는 사고방식을 의미

-> 독립적, 인간적, 직관적, 효율적, 개방적

 

2) 플랫폼 독립적

- Write Once, Run Anywhere

- 하드웨어나 시스템 구조에 비의존적

- Window, macOS, Linux 등 운영체제(플랫폼)에 관계없이 동일한 코드 실행이 가능

-> 인터프리터가 각 OS에 맞게 코드 해석

 

- 표준 라이브러리&가상환경 지원

- 다양한 플랫폼에서 동일 기능 수행

- 개발 환경을 손쉽게 복제, 이식 가능

 

3) 인간적&직관적

- 인간 중심의 철학

- 명확함과 가독성을 가장 중시

- 초보자에게 친숙하고 전문가에게도 강력한 언어

 

- 실행할 수 있는 의사 코드(Executable Pseudocode) 수준의 문법

- 영어 문장처럼 읽히는 코드 구조

- 불필요한 기호 없이 의미 중심의 구문 설계

 

4) 효율적

- 간결하지만 강력한 표현력

- 풍부한 표준 라이브러리

 

5) 개방적

- 많은 개발자의 의견을 수용하고 토론하며 발전하는 언어

- 오픈소스 생태계를 통한 공유, 재사용, 확장성 강화

- 풍부한 커뮤니티 자료로 문제 해결 속도 향상

 

- 대형 커뮤니티를 기반으로 선순환 구조의 생태계 구축

- 새로운 기능, 라이브러리를 지속적으로 개발, 공유

- 공식 문서, 포럼(Stack Overflow, Reddit 등), GitHub 등을 통해 문제 해결과 학습자료 공유

- 수십만개의 라이브러리가 거의 모든 분야를 지원

 

 

파이썬 개발 환경

 

 

1. 파이썬의 언어적 특징

 

: 플랫폼 독립적, 인터프리터식 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어

 

- 윈도우, 리눅스, 유닉스, 맥OS 등 다양한 운영체제(플랫폼)에서 별도의 컴파일 없이 실행 가능

- CPython, PyPy, Cython, Jython 등 다양한 인터프리터 환경 사용 가능

 

- 프로그램을 객체로 모델링

- 변수의 자료형을 지정하지 않음

- 작성한 코드에 대한 수행 결과를 바로 확인하고 디버깅하면서 코드 작성 가능

 

 

2. CPython

 

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

- 파이썬 표준 라이브러리, 대부분의 패키지들이 CPython을 기준으로 개발, 테스트됨

- C 구현 라이브러리와의 연동을 통한 확장에 최적

 

2) 오픈소스 커뮤니티의 기여로 지속적 발전

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

 

GitHub - python/cpython: The Python programming language

The Python programming language. Contribute to python/cpython development by creating an account on GitHub.

github.com

 

 

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

 

1) 파이썬 애플리케이션은 소스 코드 형태로 배포

- CPython이 컴파일 후 바이트코드.pyc 파일 생성

- 파이썬 가상머신은 바이트코드를 한 라인씩 실행

- 변경없이 재실행 시 바이트코드로 빠르게 실행

 

 

4. IDLE 개발환경

 

1) IDE(IDLE)

: 파이썬 인터프리터에 기본으로 포함된 파이썬 통합 개발 환경

 

- 파이썬과 Tkinter GUI 툴킷으로 개발

- 구문 강조, 자동 완성, 스마트 들여쓰기 등이 포함된 단순한 IDE 지향

- stepping, breakpoint, call stack을 확인할 수 있는 통합 디버거 환경 제공

 

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

c.f. http://www.python.org

 

Welcome to Python.org

The official home of the Python Programming Language

www.python.org

 

2) 주피터 노트북(Jupyter Notebook)

: 오픈소스 기반의 웹 플랫폼

 

- 파이썬을 비롯한 40여개 프로그래밍 언어 지원

- 전통적인 소스코드-컴파일 -실행 방식에서 벗어나 웹 기반 대화형 개발 및 실행 환경

- 문서화하여 다른 사람과 공유하기가 편리

- 마트다운(Markdown)을 이용해 코드 관련 타이틀, 설명 등 작성 가능

 

- https://jupyter.org/

 

Project Jupyter

The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media.

jupyter.org

 

3) 구글 Colab(Google Colaboratory)

: 클라우드 기반 파이썬 개발 환경

 

- 2017년 과학 연구와 교육 목적으로 개발

- 주피터 노트북+구글 드라이브를 결합한 서비스

- 노트북 파일을 공유하여 협업 코딩 가능

 

- 고성능 컴퓨팅 리소스 제공

- CPU, GPU, TPU와 같은 고성능 연산 장비 활용 가능

 

https://colab.research.google.com/

 

Google Colab

 

colab.research.google.com

 

 

파이썬 기초 문법

 

 

1. 데이터 타입

 

- 데이터가 어떤 종류의 값을 가지는지 구분

- 값의 성질과 연산 방식을 정의

 

1) 숫자 데이터 타입

- 정수(interger): 소수점이 없는 숫자

- 실수(floating point): 소수점이 포함되는 숫자

 

2) 문자 데이터 타입

- 유니코드(unicode) 기반의 문자열(string)

- 인용 부호 " 또는 '를 사용해 표현

 

 

2. 에코(echo)

 

: 입력으로 들어온 값을 아무 변화 없이 그대로 출력해 주는 기능

 

 

3. 함수(function)

 

1) 함수

: 사전에 정의된 특정 작업을 수행하는 명령문의 집합

- 함수의 이름만으로 호출해 실행할 수 있는 단위

 

ex.

print(): 화면에 데이터를 출력하는 작업

input(): 사용자 입력을 통해 데이터를 저장

 

2) 함수 사용 형식

 

ex. print("Hello World!")

print() 함수명
"Hello World!" 입력값(파라미터)

 

3) 수학식 계산

- 파이썬 인터프리터는 숫자(int, float 등)에 대해 수학적 연산(덧셈, 뺼셈, 곱셈, 나눗셈)을 자동적으로 수행

 

ex.

print(25+7)

print(5/2)

print(52*4)

 

- 괄호를 사용해 여러 연산자의 연산 순서 결정

ex. print((10.5-2*3)/(45-5.2))

 

 

4. 들여쓰기

 

- 파이썬은 들여쓰기에 의존적인 언어

- 타 프로그래밍 언어에서는 가독성 향상 목적

- 파이썬에서는 코드의 논리적 집합인 블록을 표현

 

- 들여쓰기는 스페이스 4칸 권장(PEP 8)

- 블록 중첩 시 추가적인 4칸 들여쓰기 삽입

print("파이썬")
print("파이썬은")
	print("들여쓰기 의존적 언어")
print("화이팅")

 

 

5. 프로그래밍 스타일과 문서화

 

1) 공백 사용

- 적절한 공백 사용으로 가독성 증대

 

2) 주석(commet) 사용

- 프로그램의 실행에는 영향 없음

- 코드의 의미를 설명하기 위해 작성하는 코드의 요소

 

 


 

 

* 파이썬은 인간 친화적이고 간결함을 목표로 설계된 언어로, 읽기 쉽고 명료한 코드를 작성하는 것을 핵심 가치로 삼는다.
* 파이썬은 운영체제에 관계없이 동일한 코드가 실행되는 플랫폼 독립적 언어이다.
* 파이썬 소스 코드는 인터프리터에 의해 바이트 코드로 변환된 후 파이썬 가상 머신 위에서 실행된다.

 

* 데이터는 성질에 따라 정수, 실수, 문자열 등으로 구분

* 파이썬은 변수 선언 시 자료형을 지정하지 않아도 되는 동적 타이핑 언어이다.

* 파이썬에서 들여쓰기는 단순한 가독성을 넘어, 코드의 논리적 블록을 구분하는 문법적 필수 요소이다.

 

 

 

'AI > 파이썬' 카테고리의 다른 글

파이썬 01 컴퓨터와 프로그램  (0) 2026.04.12