AI딥러닝/Python

명령어 1탄. 파이썬 실무에서 사용하는

Ystory96 2026. 1. 20. 19:09

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) # 파일 저장 실행