Python 23

[Python] 추천 시스템(1)

추천 시스템(Recommendation System)콘텐츠 기반 필터링(Content-Based Filtering)사용자가 선호하는 특성을 기반으로 유사한 아이템 추천ex) OTT에서의 영화장르, 감독, 배우 등 유사한 영화 추천.협업 필터링(Collaborative Filtering)최근접 이웃(Nearest Neighbor) 협업 필터링과 잠재 요인(Latent Factor) 협업 필터링으로 나뉨. 사용자의 행동 데이터(평점, 구매 목록, 장바구니 목록, 클릭, 검색)를 기반으로 유사한 패턴을 찾아서 추천ex) 쿠팡 등 상품 클릭 시 클릭한 다른 사용자가 본 상품 추천.하이브리드 추천 시스템(Hybrid Filtering)콘텐츠 + 협업 필터링의 정교한 추천ex) 유튜브, 넷플릭스, OTT 서비스 추..

Python 2025.03.01

[Python] 함수 사용하기

파이썬은 함수(function)라는 기능을 제공하는데 특정 용도의 코드를 한 곳에 모아 놓은 것을 뜻한다.함수는 처음 한 번만 작성해 놓으면 나중에 필요할 때 계속 불러 쓸 수 있다.(재사용 가능한 코드 블록)함수의 장점코드 재사용 : 같은 기능을 여러 번 사용할 때 코드 중복을 줄일 수 있다.가독성 향상 : 코드를 기능별로 나누어 명확하게 표현이 가능하다.유지보수 용이 : 특정 기능을 변경할 때 함수만 수정하면 된다.모듈화 가능 : 여러 개의 작은 함수로 나누어 큰 프로그램을 쉽게 구성이 가능하다.함수의 단점메모리 사용 증가 : 함수 호출이 많아지면 스택 메모리를 많이 사용하게 된다.추가적인 실행 시간 필요 : 함수 호출 자체가 오버헤드 될 수 있다.(작은 연산시)잘못된 사용 시 복잡성 증가 : 너무 ..

Python 2025.02.22

[Python] 2차원 리스트

2차원 리스트는 가로 x 세로 형태로 행(row)과 열(column) 모두 0부터 시작. 2차원 리스트는 리스트 안에 리스트를 넣어 만들 수 있고, 안쪽의 각 리스트는 ,로 구분한다.   len()으로 2차원 리스트의 크기를 구하면 리스트 안의 모든 요소의 개수가 아니라 세로 크기(안쪽 리스트 개수)가 나옴.요소에 접근할 때는 리스트[세로인덱스][가로인덱스] 형식.   for 반복문으로 2차원 리스트 만들기 리스트 표현식으로 2차원 리스트 만들기  2차우너 리스트의 할당과 복사

Python 2025.02.22

[Python] 리스트와 튜플 (3)

리스트(List)와 튜플(Tuple) 응용하기 리스트에 요소 추가하기- append() : 요소 하나를 추가메서드를 호출한 리스트가 변경되고, 새 리스트가 생성되지는 않음.리스트 끝에 요소가 추가됨.  - extend() : 리스트를 연결하여 확장extend()는 여러 개의 값을 추가할 수 있지만, 하나의 리스트나 튜플 등을 받아야 함.ㅇㅟ에서는 40과 50 두 개의 요소를 전달해서 오류 발생. - insert() : 특정 인덱스에 요소 추가리스트의 끝에 요소를 추가하는 것이 아닌 특정 인덱스에 요소를 추가할 수 있음.insert(1, [123, 456]) : 리스트 전체를 하나의 요소로 삽입.리스트 a의 길이가 4가 됨.a[1:1] = [123, 456] : 여러 개의 요소를 해당 위치에 삽입.[123..

Python 2025.02.22

[Python] 반복문

FOR 반복문으로 문자열 n번 출력하기range에서 in으로 숫자를 하나씩 꺼내서 반복.for는 숫자를 꺼낼 때 마다 코드 실행. 숫자 감소시키기 입력 횟수대로 반복하기실행 결과처럼 코드를 실행하면 반복횟수 가 출력되고 입력한 숫자만큼 반복. 시퀀스 객체로 반복하기WHILE 반복문초기식부터 시작해 조건식을 판별.조건식이 참(True)이면 반복할 코드와 변화식을 함께 수행.조건식을 판별하여 참(True)이면 코드를 계속 반복, 거짓(False)이면 반복문을 끝내고 다음 코드를 실행.  초기값 감소시키기 입력 횟수대로 반복하기반복 횟수를 정하지 않은 경우 무한루프>> WHILE에 TRUE를 지정하면 무한루프 BREAK, CONTINUE문>> while 무한 루프에서 반복문을 끝낼 수 있음.   while뿐 ..

Python 2025.02.22

[Python] 조건문

IF 조건문 중첩 if 조건문 사용하기ELSE를 사용해 두 방향으로 분기하기 조건문에 숫자 지정하기 조건문에 문자열 지정하기 조건식을 여러 개 지정하기 중첩 if 조건문은 and 논리 연산자를 사용해서 if 조건문 하나로 줄일 수 있음. ELIF를 사용해 여러 방향으로 분기하기- 참, 거짓으로 분기하기에는 한계가 있음.- 두 가지 이상의 다양한 상황이 발생.- 여러 가지 상황을 처리할 때.

Python 2025.02.21

[Python] 딕셔너리

딕셔너리(Dictionary)는 키(Key)와 값(Value)의 쌍으로 이루어진 자료구조.데이터를 효율적으로 저장하고 검색할 수 있는 해시 테이블 기반의 자료형.딕셔너리 생성하기딕셔너리는 키를 먼저 지정하고 :(콜론)을 붙여서 값을 표현.키에는 값을 하나만 지정할 수 있음.(키-값은 한쌍으로 1:1 대응) 처음 lux 생성 시 health는 490이 있고, 뒤에 health = 800을 넣을 때 키 health가 중복됨.>> lux 출력 시 health = 800이 나옴.>>> 키와 값을 저장할 때 키가 중복되면 가장 뒤에 있는 값만 사용.>>> 중복되는 키는 저장되지 않음.  딕셔너리 키의 자료형 빈 딕셔너리 만들기 dict() 사용하기딕셔너리 a를 만들 때 dict에서 키=값 형식으로 딕셔너리를 만들..

Python 2025.02.21

[Python] 리스트와 튜플 (2)

슬라이싱리스트나 튜플에서 범위를 지정해 여러 개의 요소를 가져올 때 사용[start : end : step] 형식 (end는 포함 x)start : 시작 인덱스end : 끝 인덱스step : 인덱스 증가폭기능인덱스슬라이싱목적하나의 요소 가져오기여러 개의 요소 가져오기형식시퀀스객체[n]시퀀스객체[start : end : step]슬라이스 사용하기- 시퀀스 슬라이스 : 시퀀스 객체의 일부를 잘라냄. 슬라이스로 리스트의 중간 부분 가져오기 인덱스 증가폭 사용하기 len 응용하기 시퀀스 자료형에 슬라이스 사용하기 슬라이스에 요소 할당하기>> 범위를 지정해서 요소를 할당했을 때는 원래 있던 리스트가 변경되며,새 리스트는 생성되지 않음.  인덱스 증가폭을 사용해 인덱스 할당하기 시퀀스 자료형에 요소 할당하기 del..

Python 2025.02.21

[Python] 리스트와 튜플 (1)

Python에서 리스트와 튜플은 여러 개의 값을 저장할 수 있는 자료구조. 비교리스트 (List)튜플 (Tuple)가변성변경 가능 (mutable)변경 불가능 (imutable)사용 기호[ ] 대괄호( ) 소괄호요소 추가, 삭제가능 (append, remove등)불가능속도상대적으로 느림상대적으로 빠름사용 목적자주 변경되는 데이터변경이 필요없는 데이터리스트리스트는 문자열, 정수, 실수, 불 등 모든 자료형을 저장할 수 있다.자료형을 섞어서 저장도 가능 >> 리스트에 여러가지 자료형을 사용하면 관련 정보를 하나로 묶기 편함.빈 리스트는 보통 미리 만들어 놓은 뒤에 새 값을 추가하는 방식으로 사용. - 증가폭을 음수로 지정하면 해당 값만큼 숫자를 감소하며 생성. 튜플튜플도 리스트처럼 여러 자료형을 섞어서 저장..

Python 2025.02.15

[Python] 비교, 논리 연산자

참, 거짓을 나타내는 boolean 학습두 값의 관계를 판단하는 비교 연산자와 두 값의 논리값을 판단하는 논리 연산자 학습 불(boolean)과 비교 연산자(Comparsion Operators)- 불(Boolean)은 True(참), False(거짓)으로 표현.- 비교 연산자의 판단 결과 : True, False를 사용.(비교 결과가 맞으면 True, 아니면 False)비교 연산자설명==같다!=같지 않다>크다작다>=크거나 같다작거나 같다숫자 비교하기 문자열 비교하기  부등호 사용하기부등호를 사용해 비교할 때의 비교 기준은 첫 번째 값 >> 첫 번째 값보다 큰지, 작은지 처럼 읽음.> 은 초과>= 은 이상>, >=, 이상, 이하는 비교할 값도 포함. 객체가 같은지 다른지 비교하기 정수 객체와 실수 객체의..

Python 2025.02.15