1. 기본 문법 및 제어 (Logic & Flow)
def, return
- 설명: def는 새로운 함수(기능)를 정의할 때 쓰고, return은 함수의 결과값을 반환하고 함수를 종료할 때 사용합니다.
- 실무 예시:
-
Python
# 부가세 계산기 함수 만들기 def calc_vat(price): return price * 0.1
try, except
- 설명: 에러가 발생할 수 있는 코드를 안전하게 처리합니다. try 블록 안에서 에러가 나면 프로그램이 멈추지 않고 except 블록으로 넘어가 처리합니다.
- 실무 예시:
-
Python
# 파일이 없어도 프로그램이 죽지 않게 처리 try: data = open("data.txt").read() except FileNotFoundError: print("파일이 없습니다. 빈 데이터를 사용합니다.")
if, else, elif
- 설명: 조건에 따라 다른 코드를 실행합니다. (참/거짓 판단)
- 실무 예시:
-
Python
# 로그인 권한 확인 if user_level == "admin": print("관리자 페이지 접속") else: print("접근 권한이 없습니다.")
for, while
- 설명: 반복문입니다. for는 정해진 횟수나 리스트의 개수만큼, while은 조건이 만족하는 동안 계속 반복합니다.
- 실무 예시:
-
Python
# 고객 리스트 전체에게 이메일 발송 (for) for email in customer_emails: send_mail(email)
2. 데이터 구조 및 처리 (Data Structures)
set(), .add()
- 설명: 집합 자료형입니다. 중복을 허용하지 않는 특징이 있어 로또 번호 생성 시 유용하게 쓰였습니다.
- 실무 예시:
-
Python
# 방문자 로그에서 중복을 제거하고 순수 방문자 수(UV) 계산 visitor_ids = ["a", "b", "a", "c"] unique_visitors = set(visitor_ids) # {'a', 'b', 'c'}
tuple()
- 설명: 리스트와 비슷하지만 한 번 만들면 내용을 바꿀 수 없는(Immutable) 자료형입니다.
- 실무 예시:
-
Python
# 지도 좌표, 설정값 등 절대 변하면 안 되는 데이터 저장 coordinate = (37.5665, 126.9780)
random.randint(a, b)
- 설명: a부터 b 사이(b 포함)의 정수 난수를 생성합니다. 로또 번호 뽑기에 사용되었습니다.
- 파일 내 사용 예시: lotto_module.py
-
Python
num = random.randint(1, 45) # 1~45 사이 숫자
sorted()
- 설명: 데이터를 순서대로 정렬합니다. (오름차순이 기본)
- 실무 예시:
-
# 점수가 높은 순서대로 랭킹 정렬 (reverse=True 사용) ranking = sorted(scores, reverse=True) - Python
sys.path.append()
- 설명: 파이썬이 모듈(다른 파일)을 찾을 때 검색하는 경로를 추가합니다. 내 파일이 다른 폴더에 있어도 import 할 수 있게 해줍니다.
- 실무 예시:
-
# 프로젝트 공통 라이브러리 폴더를 연결할 때 sys.path.append("/project/common_lib") - Python
3. 파일 및 운영체제 제어 (OS & Files)
os.makedirs(path, exist_ok=True)
- 설명: 폴더(디렉토리)를 만듭니다. exist_ok=True를 쓰면 이미 폴더가 있어도 에러를 내지 않고 넘어갑니다.
- 실무 예시:
-
Python
# 오늘 날짜로 로그 저장 폴더 자동 생성 os.makedirs("2024-01-20/logs", exist_ok=True)
os.path.join()
- 설명: 폴더 경로와 파일 이름을 운영체제(윈도우/맥/리눅스)에 맞게 안전하게 합쳐줍니다. (/ 나 \ 신경 안 써도 됨)
- 실무 예시:
-
Python
# 어떤 컴퓨터에서도 작동하는 파일 경로 만들기 full_path = os.path.join("C:", "Users", "Documents", "report.xlsx")
with open(...)
- 설명: 파일을 열고 작업을 마친 뒤 자동으로 닫아주는 안전한 방식입니다.
- 실무 예시:
-
Python
# 설정 파일 읽기 (다 읽으면 알아서 close 됨) with open("config.txt", "r") as f: config = f.read()
4. 외부 라이브러리 및 고급 기능
Workbook (openpyxl)
- 설명: 엑셀 파일을 생성하고 다루는 클래스입니다. ws.append()로 엑셀에 한 줄씩 데이터를 넣을 수 있습니다.
- 실무 예시:
-
Python
# 매일 밤 서버 데이터를 긁어와 엑셀 일일 보고서 자동 생성 wb = Workbook() ws = wb.active ws.append(["날짜", "매출", "방문자수"]) wb.save("daily_report.xlsx")
Faker
- 설명: 테스트용 가짜 데이터(이름, 주소, 전화번호 등)를 생성해주는 라이브러리입니다.
- 실무 예시:
-
Python
# 개발 중인 쇼핑몰 회원가입 기능을 테스트하기 위해 가짜 회원 1,000명 생성 fake = Faker("ko_KR") print(fake.name(), fake.address())
getattr(obj, name)
- 설명: 객체(변수)의 속성이나 함수를 이름(문자열)으로 찾아서 실행할 때 씁니다. (faker_gen.py에서 사용됨)
- 실무 예시:
-
Python
# 사용자가 입력한 명령어 문자열대로 함수 실행하기 command = input("명령어 입력(run/stop): ") getattr(machine, command)() # machine.run() 또는 machine.stop() 실행
5. 파일 및 경로 관리 (os, sys)
os.makedirs(save_dir, exist_ok=True)
- 설명: 폴더(디렉토리)를 생성합니다. exist_ok=True 옵션을 사용하여 폴더가 이미 존재하더라도 에러를 내지 않고 그대로 진행하도록 작성되었습니다.
- 파일 내 사용 예시: sum_module.py, lotto_main.py
-
# 디렉토리가 없으면 생성 (있으면 에러 없이 통과) os.makedirs(save_dir, exist_ok=True) - Python
os.path.join(path, file_name)
- 설명: 운영체제(Windows 등)에 맞는 경로 구분자(\)를 사용하여 폴더 경로와 파일 이름을 안전하게 합쳐줍니다.
- 파일 내 사용 예시: sum_module.py
-
Python
# 저장 경로와 파일명을 합쳐 전체 경로 생성 full_path = os.path.join(save_dir, file_name)
sys.path.append(os.path.dirname(...))
- 설명: 현재 파일이 있는 위치를 파이썬의 모듈 검색 경로(sys.path)에 추가합니다. 이렇게 하여 같은 폴더에 있는 내가 만든 모듈(lotto_module 등)을 import 할 수 있게 만들었습니다.
- 파일 내 사용 예시: lotto_main.py, score_main.py
-
Python
# 현재 스크립트 위치를 기준으로 모듈 경로 추가 sys.path.append(os.path.dirname(os.path.abspath(__file__))) import lotto_module
6. 엑셀 파일 다루기 (openpyxl)
Workbook(), wb.active
- 설명: 새로운 엑셀 파일(워크북)을 생성하고, 현재 활성화된 시트(Sheet)를 가져옵니다.
- 파일 내 사용 예시: sum_module.py
-
Python
wb = Workbook() # 엑셀 생성 ws = wb.active # 활성 시트 선택 ws.title = f"{start_num}부터{end_num}합계" # 시트 이름 변경
ws.append(list)
- 설명: 엑셀 시트의 가장 마지막 줄에 새로운 행(데이터 리스트)을 추가합니다. 헤더나 데이터 입력용으로 사용되었습니다.
- 파일 내 사용 예시: lotto_main.py
-
Python
# 헤더 추가 ws.append(["회차", "번호1", "번호2", "번호3", "번호4", "번호5", "번호6", "보너스"]) # 데이터 행 추가 ws.append(row)
wb.save(path)
- 설명: 작업한 엑셀 파일을 지정된 경로에 실제로 저장합니다.
- 파일 내 사용 예시: sum_module.py
-
Python
wb.save(full_path) # 파일 저장 실행
'AI딥러닝 > Python' 카테고리의 다른 글
| 아나콘다로 시작하는 데이터 분석 - Jupyter (0) | 2026.01.22 |
|---|---|
| Import를 이용한 Main파일 실행 (0) | 2026.01.20 |
| Python DB. sqlite3 설치 실행 (0) | 2026.01.20 |
| Python 엑셀로 저장하기 (0) | 2026.01.20 |
| Python과 Python DB 설치하기 (0) | 2026.01.20 |