목록BASIC/PYTHON (8)
cmod.ify
ORM (Object Relational Mapping)객체 지향 프로그래밍의 '객체(Class)'와 관계형 데이터베이스의 '테이블(Table)'을 자동으로 연결해 주는 기술입니다.(1) 장점과 단점장점:DB 독립성: 코드를 수정하지 않고도 MySQL에서 Oracle이나 PostgreSQL로 쉽게 교체 가능합니다.객체 지향적: SQL 문장이 아닌 파이썬 코드로 데이터를 다루므로 생산성이 높습니다.유지보수: 테이블 구조가 바뀌어도 클래스만 수정하면 되어 관리가 편합니다.단점:성능 이슈: 매우 복잡한 통계 쿼리 등은 직접 SQL을 쓰는 것보다 느릴 수 있습니다.학습 곡선: SQL 외에 ORM 자체의 문법을 배워야 합니다.9. SQLAlchemy 실습 정리파이썬에서 가장 강력하고 널리 쓰이는 ORM 라이브러리..
1. 파일 처리의 기본 원리프로그램이 직접 파일을 만지는 게 아니라, 운영체제(OS)에게 요청해서 결과를 돌려받는 방식임.필수 단계: 파일 열기(open) → 작업(read/write) → 파일 닫기(close)주의: 파일이나 네트워크 작업은 예외가 발생할 확률이 높으므로 반드시 Exception Handling(try-finally)이 동반되어야 함.2. 파일 읽기와 쓰기파일 쓰기 (Write)open('경로', 'w', encoding='utf-8') 형태로 개방.write(): 문자열 기록.writelines(): 리스트 등 줄 단위 데이터를 한 번에 기록.try: file = open('./test.txt', 'w') #파일에 한번에 기록 file.write("hello Pytho..
1. 오류의 종류 (Error vs Exception)프로그램에서 발생하는 문제는 크게 세 가지로 나뉨.컴파일 오류: 오타나 문법 위반으로 아예 실행조차 안 되는 오류. (수정 필수)논리적 오류: 실행은 잘 되는데, 계산을 틀려서 결과가 이상하게 나오는 오류. (디버깅 필요)예외(Exception): 문법은 맞지만 실행 중에 외부 요인(잘못된 입력, 파일 없음 등)으로 중단되는 현상2. 디버깅(Debugging)예외나 논리적 오류의 원인을 찾아내고 수정하는 과정임.방법: 직접 로그를 찍어보는 Logging, 개발 도구(IDE)의 Debugging Tool, 혹은 Testing Tool을 활용함.3. 예외 처리(Exception Handling)프로그램이 예외 때문에 갑자기 죽지 않도록 안전장치를 치는 것..
1. collections 모듈: Counter 클래스데이터의 개수를 세거나 항목별 집계를 할 때 쓰는 효자 클래스임. 시퀀스 데이터(리스트, 튜플 등)를 넣으면 자동으로 dict 형태로 개수를 저장해줌.from collections import Counter# 리스트 안의 요소 개수를 바로 카운트counter = Counter(['red', 'blue', 'green', 'red', 'blue', 'blue'])print(counter) # Counter({'blue': 3, 'red': 2, 'green': 1})print(counter['red']) # 2레코드 데이터 집계 (응용)단순 개수뿐만 아니라 특정 항목의 합계를 구할 때도 유용함.word_cloud = [ ("HAPI",..
1. 모듈 (Module)독자적인 기능을 갖는 구성요소. 파이썬에서는 하나의 파일(.py)을 모듈이라고 부름.종류:표준 모듈: 파이썬 설치 시 기본으로 제공됨 (ex. sys, abc).사용자 정의 모듈: 내가 직접 만든 파일.3rd Party 모듈: 외부 개발자/단체가 만든 모듈. (ex. numpy, pandas 등)가져오는 법:import 모듈: 전체 가져오기. 쓸 때 모듈.함수() 형태.from 모듈 import 함수: 특정 기능만 가져오기. 모듈 이름 생략 가능.import 모듈 as 별명: 이름이 길거나 겹칠 때 줄여서 사용. (원본 이름은 사용 불가)경로 확인: sys.path로 파이썬이 어디서 모듈을 찾는지 확인 가능. (현재 디렉토리 -> 설치 디렉토리 순)2. 패키지 (Package)관..
Encapsulation(캡슐화)불필요한 부분을 외부 노출하지 않기클래스와 인스턴스를 어떻게 만들 것인가?Inheritance(상속) 상위 클래스의 모든 요소를 하위 클래스가 물려 받는 것(상위 클래스가 물려주는 것 xxx)중복제거 : 같이 바꿔야 하는 값을 실수없이 변경 가Framework Library 사용Polymorphism(다형성)동일한 코드가 호출하는 대상에 따라 다른 작업을 수행하는 것abstrat(추상화)Class 구성Attribute : 데이터Method : 작업Class와 InstanceClass: 자료형, 불변Instance: 자료형을 기반으로 메모리를 할당받은 데이터 - 동적Instance 생성 : 클래스이름([데이터])Attribute클래스 속성 (Class Attribute): ..
1. 스네이크 케이스 (snake_case)파이썬에서 대부분 사용하는 방식전부 소문자로 쓰고, 단어 사이를 언더바(_)로 연결변수명: user_name, age, std_info함수 및 메서드명: print_info(), get_name(), set_address()모듈/패키지명: math_tools.py2. 파스칼 케이스 (PascalCase)클래스 이름을 지을 때만 사용단어의 첫 글자를 대문자로 쓰는 방식클래스명: Student, HighSchoolStudent, DataProcessor3. 전체 대문자 (UPPER_SNAKE_CASE) '상수' 표현상수: PI = 3.14, MAX_SPEED = 100
AoP(Aspect of Programming)관점 지향 프로그래밍 쓰는 이유 Code는 두가지로 나뉨Basic Logic:해당 코드가 수행해야 하는 본연의 기능Common Concern:공통적으로 반복되어 나타나는 부가 기능 둘이 같이 진행하면 서로 간섭하는 코드가 생김두가지를 분리해서 코딩해야함내부적으로 동시에 실행하는 걸 프록시 패턴이라고 함 파이썬에서 데코레이터 라고 부름데코레이터 기초 def deco(func): def inner(): print("실제 수행 함수") return inner@decodef target(): print("타겟이다!")target()데코레이터 활용실행 시간을 확인하는 데코레이터1. 반복문 피보나치2. 재귀 피보나치반복문 피보나치는 바로 데..