Python 개요
Python은 읽기 쉽고 쓰기 쉬운 문법을 지닌 고급 프로그래밍 언어로, 1991년 Guido van Rossum에 의해 처음 발표되었습니다. 간결하면서도 명확한 문법, 강력한 표준 라이브러리와 풍부한 외부 패키지 생태계를 갖추고 있어, 웹 개발, 데이터 분석, 머신러닝, 자동화 스크립팅 등 다양한 분야에서 폭넓게 사용됩니다.
1. 개발 환경 설정
- 설치: 공식 웹사이트(https://www.python.org)에서에서) 운영체제에 맞는 설치 파일을 다운로드 후 설치합니다.
- 버전 관리:
pyenv
,anaconda
등을 이용해 여러 버전의 Python을 쉽게 관리할 수 있습니다. - 가상 환경: 프로젝트별로 독립된 패키지 관리가 필요할 때는
venv
나virtualenv
,conda
를 사용합니다.python3 -m venv myenv source myenv/bin/activate # Windows: myenv\Scripts\activate
2. 기본 문법
2.1 변수와 자료형
- 숫자형:
int
,float
,complex
- 문자열:
"Hello, World!"
,'''여러 줄 문자열'''
- 불리언:
True
,False
- 컬렉션:
list
,tuple
,set
,dict
x = 10
pi = 3.14
name = "Alice"
fruits = ["apple", "banana", "cherry"]
settings = {"debug": True, "version": 2.0}
2.2 연산자
- 산술 연산자:
+
,-
,*
,/
,//
,%
,**
- 비교 연산자:
==
,!=
,<
,>
,<=
,>=
- 논리 연산자:
and
,or
,not
3. 제어문
3.1 조건문
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
else:
grade = 'C'
3.2 반복문
- for:
for item in fruits: print(item)
- while:
count = 0 while count < 5: print(count) count += 1
4. 함수
- 정의:
def greet(name): return f"Hello, {name}!"
- 가변 인자:
*args
,**kwargs
- 람다 함수:
lambda x: x**2
5. 모듈 및 패키지
- 모듈 불러오기:
import math
,from datetime import datetime
- 패키지 구조:
mypackage/ ├── __init__.py ├── module1.py └── subpackage/ ├── __init__.py └── module2.py
- 패키지 설치:
pip install requests
6. 객체 지향 프로그래밍
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hi, I'm {self.name}, {self.age} years old.")
# 상속\class Student(Person):
def __init__(self, name, age, student_id):
super().__init__(name, age)
self.student_id = student_id
7. 예외 처리
try:
result = 10 / 0
except ZeroDivisionError as e:
print("오류 발생: 나눗셈에서 0 사용")
finally:
print("예외 처리 완료")
8. 파일 입출력
with open('data.txt', 'r', encoding='utf-8') as f:
content = f.read()
with open('output.txt', 'w') as f:
f.write('Hello, file!')
9. 표준 라이브러리 주요 모듈
os
: 운영체제 인터페이스sys
: 파이썬 인터프리터 관련 정보json
: JSON 인코딩/디코딩datetime
: 날짜 및 시간 처리re
: 정규 표현식
10. 외부 라이브러리 예시
- 웹 개발: Flask, Django
- 데이터 과학: NumPy, Pandas, Matplotlib
- 머신러닝: scikit-learn, TensorFlow, PyTorch
11. 팁과 모범 사례
- 코딩 스타일: PEP 8 준수
- 문서화: Docstring 사용
- 테스트: unittest, pytest 활용
- 버전 관리: Git 사용 및 커밋 메시지 규칙 준수