Python
기본 정보
- 이름: Python
- 분류: 인터프리터 기반 고급 프로그래밍 언어
- 개발자: 귀도 반 로섬 (Guido van Rossum)
- 최초 공개: 1991년
- 라이선스: Python Software Foundation License
- 주요 용도: 웹 개발, AI, 데이터 분석, 자동화, 크롤링, 게임 개발
- 관련 주제: #Python #AI #데이터분석 #자동화 #백엔드
개요
Python은 간결한 문법과 높은 생산성을 특징으로 하는 범용 프로그래밍 언어이다.
배우기 쉬운 문법과 풍부한 라이브러리 덕분에 웹 개발, 인공지능(AI), 머신러닝, 데이터 분석, 자동화, 크롤링 등 다양한 분야에서 활용되고 있으며, 현재 가장 인기 있는 프로그래밍 언어 중 하나이다.
주요 특징
- 문법이 간결하고 읽기 쉬움
- 인터프리터 방식 실행
- 객체지향 프로그래밍 지원
- 함수형 프로그래밍 지원
- 방대한 라이브러리 제공
- 크로스 플랫폼 지원
- AI 및 데이터 분석 분야에서 강력한 생태계 보유
Hello World
print("Hello Python")
변수
name = "구름"
age = 30
score = 99.5
is_admin = True
Python은 변수 선언 시 자료형을 명시하지 않는다.
데이터 타입
기본 자료형
- int
- float
- bool
- str
컬렉션 자료형
- list
- tuple
- set
- dict
조건문
age = 30
if age >= 20:
print("성인")
else:
print("미성년자")
들여쓰기(Indentation)로 코드 블록을 구분한다.
반복문
for
for i in range(5):
print(i)
while
count = 0
while count < 5:
print(count)
count += 1
함수
def add(a, b):
return a + b
print(add(3, 5))
클래스
class User:
def __init__(self, name):
self.name = name
객체 생성
user = User("구름")
print(user.name)
리스트(List)
fruits = [
"apple",
"banana",
"orange"
]
print(fruits[0])
딕셔너리(Dictionary)
user = {
"name":"구름",
"age":30
}
print(user["name"])
예외 처리
try:
print(10/0)
except Exception as e:
print(e)
파일 읽기
with open("test.txt","r",encoding="utf-8") as f:
text = f.read()
print(text)
with 문을 사용하면 파일이 자동으로 닫힌다.
파일 쓰기
with open("test.txt","w") as f:
f.write("Hello")
모듈
import math
print(math.pi)
필요한 기능을 모듈 형태로 가져와 사용할 수 있다.
패키지 관리자
Python은 pip를 통해 라이브러리를 설치한다.
설치
pip install requests
목록 확인
pip list
가상환경
생성
python -m venv venv
활성화(Windows)
venv\Scripts\activate
프로젝트별 독립된 패키지 관리를 위해 사용하는 것이 권장된다.
대표 라이브러리
웹 개발
- Django
- Flask
- FastAPI
데이터 분석
- pandas
- NumPy
- SciPy
AI / 머신러닝
- TensorFlow
- PyTorch
- scikit-learn
- Keras
크롤링
- BeautifulSoup
- Selenium
- Scrapy
자동화
- openpyxl
- pyautogui
- schedule
웹 개발
대표 프레임워크
REST API, 관리자 페이지, 인증 기능 등을 빠르게 개발할 수 있다.
데이터 분석
Python은 데이터 분석 분야에서 가장 널리 사용되는 언어 중 하나이다.
활용 예
- 통계 분석
- 데이터 시각화
- ETL
- 대시보드
- BI
인공지능(AI)
Python은 AI 및 머신러닝 개발의 표준 언어로 자리 잡고 있다.
활용 분야
- 자연어 처리(NLP)
- 이미지 인식
- 음성 인식
- 생성형 AI
- 추천 시스템
- 예측 모델
자동화
Python은 반복 작업 자동화에 많이 사용된다.
예시
- 파일 정리
- 이메일 발송
- 엑셀 처리
- 웹 크롤링
- 서버 관리
- 업무 자동화(RPA)
주요 활용 분야
- 웹 개발
- AI
- 머신러닝
- 데이터 분석
- 크롤링
- 자동화
- DevOps
- 게임 개발
- API 서버
- IoT
장점
- 배우기 쉬운 문법
- 높은 생산성
- 방대한 라이브러리
- AI 분야 강세
- 크로스 플랫폼 지원
- 활발한 커뮤니티
단점
- 실행 속도가 C/C++보다 느림
- 모바일 앱 개발에는 활용도가 낮음
- 동적 타입으로 런타임 오류 가능
- GIL(Global Interpreter Lock)로 CPU 병렬 처리에 제약이 있을 수 있음
실무 메모
실무에서는 다음과 같은 방식이 권장된다.
- Python 3 최신 안정 버전 사용
- 가상환경(venv) 사용
requirements.txt관리- Black 또는 Ruff로 코드 스타일 관리
- 타입 힌트(Type Hint) 활용
logging모듈 사용.env파일로 환경변수 관리- pytest 기반 테스트 작성
- 비동기 처리는
asyncio활용 - Docker 환경에서 배포 고려
Python과 함께 사용하는 기술
대표 개발 도구
- Visual Studio Code
- PyCharm
- Jupyter Notebook
- Google Colab
- Anaconda
관련 문서
출처
- Python 공식 홈페이지
- Python 공식 문서
- Python Software Foundation 자료