파이썬의 시작
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을 확인할 수 있는 통합 디버거 환경 제공
- 파이썬 공식 홈페이지에서 다운로드 가능
Welcome to Python.org
The official home of the Python Programming Language
www.python.org
2) 주피터 노트북(Jupyter Notebook)
: 오픈소스 기반의 웹 플랫폼
- 파이썬을 비롯한 40여개 프로그래밍 언어 지원
- 전통적인 소스코드-컴파일 -실행 방식에서 벗어나 웹 기반 대화형 개발 및 실행 환경
- 문서화하여 다른 사람과 공유하기가 편리
- 마트다운(Markdown)을 이용해 코드 관련 타이틀, 설명 등 작성 가능
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 |
|---|