Python 31

재귀 호출

함수 안에서 동일한 함수를 호출하는 형태(반복문을 많이 활용하다보니 속도가 중요한 AI에서는 불리한 방식인 것 같다.) 팩토리얼?n! = n * (n-1)!5! = 5 * 4 * 3 * 2 * 13! = 3 * 2 * 1해당 수에서 1까지의 곱 1. 팩토리얼 구현def factorial(num): if num > 1: return num * factorial(num-1) else: return numfor num in range(5): print(factorial(num)) 0 1 2 6 24  2. 재귀 호출def palindrome(word): if len(word) == 1: return True elif word[0] == word[-1]: return palin..

Python/알고리즘 2024.10.22

기본 정렬

정렬(sorting)이란?어떤 데이터들이 주어졌을 때 이를 정해진 순서대로 나열하는 것 정렬은 프로그램 작성 시 빈번하게 필요로 함 다양한 알고리즘이 고안되었으며, 알고리즘 학습의 필수 다양한 정렬 알고리즘 이해를 통해 동일한 문제에 대해 다양한 알고리즘이 고안될 수 있음을 이해하고, 각 알고리즘간 성능 비교를 통해 알고리즘 성능 분석에 대해서도 이해할 수 있음 1. 버블 정렬두 인접한 데이터를 비요해서, 앞에 있는 데이터가 데이터보다 크면, 자리를 바꾸는 정렬 알고리즘

Python/알고리즘 2024.10.21

개요

*자료구조 : 대량의 데이터를 효율적으로 관리하게 해주는 저장 구조- 배웠던 예시 : 리스트, 튜플, 세트, 딕셔너리- 추가적인 예시 : 배열, 스택, 링크드리스트, 해쉬테이블, 힙 *알고리즘 : 어떤 문제를 풀기 위한 접근 방식                  어떤 '입력'에 어떤 '출력'을 얻을 수 있도록 만드는 방법론 왜 자료구조와 알고리즘이 중요할까?비교적 빠른 속도와 메모리 효율을 가질 수 있기 때문이다. 파이썬을 활용한 자료구조, 알고리즘 특징어떤 언어로든 자료구조와 알고리즘을 구현할 수 있으나 파이썬이 개발자 입장에서 가장 쉽게 구현할 수 있다.

파이썬과 MySQL 연동

1. MySQL Client (1) 설치 명령어# mysql 연동 라이브러리 설치 명령어!pip install mysqlclient (2) connection 객체 생성import MySQLdb# host='ip주소', user='사용자명', password='비밀번호', db='데이터베이스명'db = MySQLdb.connect(host='localhost', user='root', password='1234', db='kdt')print(db)#  2. Cursor하나의 데이터베이스 connection에 대해 독립적으로 SQL문을 실행할 수 있는 작업 환경을 제공하는 객체 (1) Tuple로 조회 결과 확인    1) fetchall() : select 모든 결과를 한 번에 2차원 Tuple로 리턴 ..

파일 입출력 모드

1. OS 모듈파이썬이 운영체제와 상호 작용하는 유틸리티 제공(파일, 디렉토리 등 운영체제 관련 작업 수행) *JupyterNotebook 설치window 명령프롬프트# 설치 명령어pip install jupyter# 실행 명령어 (실행시 cd 경로가 루트디렉토리가 되니까 원하는 폴더에서 해당 명령어 실행)jupyter notebook 1. 셀의 모드* 비입력 모드에서B : 아래에 셀 생성A : 위에 셀 생성Y : '코드 셀'로 설정M : '마크다운 셀'로 설정 (1) 코드 셀을 사용한 부분 2. globglob 모듈은 파일과 폴더 이름을 찾을 때 사용하는 파이썬의 도구입니다. 이 모듈의 이름은 "전역적으로 찾기"라는 의미의 "global"에서 유래했습니다. glob는 특정 패턴에 일치하는 파일이나 폴더..

변수 타입 어노테이션

파이썬은 동적 타입언어라서 관련 오류가 생길 수있는데변수의 예상 타입을 알려줌으로써 오류를 방지한다. 1. 기본 타입 어노테이션name = '김사과'name: str = '김사과'age = 10age: int = 10height = 176.5height: float = 176.5is_Lover = Trueis_Lover: bool = True 2. 컬렉션 타입 어노테이션from typing import List, Tuple, Dict, Set# 리스트 타입 어노테이션names = ['김사과', '오렌지', '반하나']names: List[str] = ['김사과', '오렌지', '반하나']names: List[int] = ['김사과', '오렌지', '반하나'] # List[타입] 이외의 요소가 들어와도..

파일 입출력

파이썬에서 파일 입출력은 다양한 용도로 사용됩니다. 텍스트 파일, 바이너리 파일, CSV 파일, JSON 파일 등을 읽고 쓸 수 있습니다. 1. 파일 열기open() 함수를 통해 파일을 열 수 있다.f = open("파일명", "모드")파일명: 열고자 하는 파일의 이름이나 경로모드: 파일을 어떻게 열 것인지를 지정r: 읽기 모드 (기본값)w: 쓰기 모드 (파일이 있으면 덮어쓰기)a: 추가 모드 (파일의 끝에 내용을 추가)b: 바이너리 모드 (텍스트가 아닌 바이너리 데이터를 읽고/쓸 때 사용)+: 읽기와 쓰기 모드 2. 파일 쓰기 3. 파일 읽기 4. with문 사용하기파일을 보다 안전하고 깔끔하게 다루는 방법컨텍스트 매니저를 사용하여 파일을 열고, 파일 작업이 끝나면 자동으로 파일을 닫아주는 역할 5. ..

모듈 (Module) (feat. 파이참 설치)

파이썬에서 모듈을 만들려면 간단히 .py 확장자를 가진 파일에 코드를 작성하면 됩니다.모듈은 단순한 함수 뿐만 아니라 변수, 클래스 등도 포함할 수 있으며, 다른 스크립트에서 import 구문을 사용하여 가져올 수 있습니다. 1. 모듈 .py 파일 만들기 *파이참(PyCharm) 설치https://www.jetbrains.com/ko-kr/pycharm/download/?section=windows 2. 모듈 사용하기 *구글 드라이브에 모듈 넣어놓고 연동하기 3. 패키지 (Package)파이썬에서 패키지는 모듈들을 포함하고 있는 디렉터리입니다. 모듈은 파이썬 코드를 담고 있는 파일이며, 여러 모듈을 논리적으로 그룹화하려는 경우 패키지를 사용합니다. 패키지를 사용하면 관련된 기능들을 함께 묶어서 코드를 더..