Python/개념 34

2024-06-03 30. 파이썬 비동기

1. 동기(Synchronous)작업이 순차적으로 실행되는 것하나의 작업이 끝나기 전에는 다음 작업을 시작하지 않음def func1():    print('1')    print('2')    print('3')def main():    func1()main() import time# main 함수는 smile 함수가 종료될 때까지 기다림# smile 함수가 종료되기 전에 main 함수에서 더 처리해야 할 일이 있다면 ??? -> 비동기def smile():    time.sleep(1)    print('😊😊😊😊😊')def main():    smile()  # 1초 쉬고 찍고     smile()  # 1초 쉬고 찍고 print(f"시작: {time.strftime('%X')}")main()..

Python/개념 2024.06.03

2024_06-03 29. 데이터베이스와 MongoDB

1. 파이썬을 활용한 MongoDB# MongoDB와 연결하기 위한 드라이버 모듈을 설치(설치 후 "세션 다시 시작 및 모두 실행")!python -m pip install "pymongo[srv]"==3.11 from pymongo import MongoClienturl = "mongodb+srv://:@cluster0.occwxrv.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0"client = MongoClient(url)print(client)database = client['aiproject']collection = database['user']collection 1-1. 데이터 추가하기user_insert = {"userid": "appl..

Python/개념 2024.06.03

2024-03-29 재귀 호출

1. 재귀 호출(recursive call) 재귀 호출(recursion)은 함수가 자기 자신을 다시 호출하는 기법을 말합니다. 재귀 호출을 사용하면 복잡한 문제를 간단하고 우아하게 풀 수 있지만, 잘못 사용하면 프로그램의 성능에 문제가 발생할 수 있습니다. 무한 재귀: 재귀 함수의 기본 케이스가 없거나 잘못되면 함수는 무한히 자신을 호출하게 됩니다. 이렇게 되면 프로그램은 결국 스택 오버플로우 에러를 발생시키게 됩니다. 성능: 재귀 호출은 간단하고 우아하게 보일 수 있지만, 반복문을 사용한 코드보다 더 많은 메모리와 시간을 소모할 수 있습니다. 특히 파이썬에서는 재귀 호출에 제한이 있으므로 (기본적으로 1000번) 큰 입력값에 대해 재귀 함수를 사용하면 문제가 발생할 수 있습니다. 메모리 사용: 모든 ..

Python/개념 2024.03.29

2024-03-22 과제 디렉토리 관리 프로그램 만들기

과제 위 디렉토리 관리 프로그램을 참고하여 자신의 시나리오를 만들고 파일 관련된 프로그램을 작성해보자. 점심메뉴 폴더 점심메뉴 폴더에는 한식, 중식, 일식, 양식, 아시안, 기타 파일이 들어있음. 코드 class 사용 import os import glob import zipfile import shutil import fnmatch import pathlib import openpyxl as opx class DirManagement: def __init__(self, path = './점심메뉴'): self.path = path # 압축 파일 해제하기 def extract(self, path): zipfile_path = [] for filename in glob.glob(os.path.join(se..

Python/개념 2024.03.22

2024-03-22 주피터 노트북 설치, 디렉토리 관리 프로그램

주피터 노트북 설치1. 파이썬이 설치되어 있어야 함 (pip도 설치되어 있음) 2. pip install jupyter (설치가 되지 않는 경우 pip install --upgrade pip 명령 실행 후 다시 설치)3. 주피터 노트북 실행 1. jupyter notebook --notebook-dir='C:\Ryuzy\Python' 2. 원하는 디렉토리로 이동 후 실행 cd C:\Ryuzy\Python jupyter notebook주피터 노트북 단축키 셀 선택 모드(ESC) a: 위에 새로운 셀 추가 b: 아래 새로운 셀 추가 c: 셀 복사하기 v: 셀 붙여넣기 x: 셀 잘라내구 dd: 셀 삭제하기 m: 마크다운으로 변경 y: 코드로 변경

Python/개념 2024.03.22

2024-03-21 파일 입출력 라이브러리

1. OS 파이썬의 os 모듈은 운영 체제와 상호 작용하는 많은 함수와 유틸리티를 제공합니다. 이 모듈을 사용하면 파일, 디렉터리 또는 운영 체제에 관한 작업을 수행할 수 있습니다. 2. glob glob 모듈은 파일과 폴더 이름을 찾을 때 사용하는 파이썬의 도구입니다. 이 모듈의 이름은 "전역적으로 찾기"라는 의미의 "global"에서 유래했습니다. glob는 특정 패턴에 일치하는 파일이나 폴더 이름을 쉽게 찾아줍니다. (아래 파일을 다운로드 받아 압축을 풀고 예제를 진행합니다.) 파일 다운 후 실행 => 3. fileinput fileinput 모듈은 파이썬에서 여러 입력 스트림을 동시에 순회하는 데 유용합니다. 이 모듈의 주요 용도는 명령줄에서 명시된 여러 파일을 동시에 읽는 스크립트를 작성하는 것..

Python/개념 2024.03.21

2024-03-21 변수 타입 어노테이션

1. 변수 타입 어노테이션 변수 타입 어노테이션은 파이썬 3.5부터 도입된 기능으로, 변수의 예상 타입을 명시하는데 사용됩니다. 이는 주로 코드의 가독성을 높이고, 정적 타입 검사 도구(예: mypy)를 사용하여 타입 오류를 사전에 잡아내기 위한 목적으로 사용됩니다. 타입 어노테이션은 실제로 변수의 타입을 강제하는 것이 아니라, 개발자가 변수가 어떤 타입을 가져야 할 것으로 예상하는지 명시하는 것입니다. 2. 기본 타입 어노테이션 3. 리스트, 튜플, 딕셔너리, 세트 컬렉션 타입에 대한 어노테이션은 조금 더 복잡합니다. 이를 위해 List, Tuple, Dict, Set 등의 제네릭 타입을 사용하게 됩니다. 이러한 타입들은 typing 모듈에서 가져올 수 있습니다. 4. 함수 함수의 매개변수와 반환 타입..

Python/개념 2024.03.21

2024-03-21 파일 입출력을 이용한 단어장 만들기

문제 아래 조건을 만족하는 영어 단어장을 만들어보자 등록하기, 2.출력하기, 3.저장하기, 4.불러오기, 5.종료하기 * 1을 선택했을경우 - 단어를 입력하세요: apple - 뜻을 입력하세요: 사과 - 레벨을 입력하세요: 1 - 등록되었습니다. * 2를 선택했을 경우 - apple : 사과 (레벨 1) * 3을 선택했을 경우 - 저장되었습니다. (파일에 저장, words.txt) * 4를 선택했을 경우 - 불러왔습니다.(파일에서 읽어봄, words.txt) * 5를 선택했을 경우 - 프로그램을 종료합니다. 1~5 까지의 숫자가 아닌 경우 -다시 입력하세요! 단, 프로그램을 클래스로 설계하도록 함 wordList = [] filename = 'words.txt' class Word: def __init_..

Python/개념 2024.03.21

2024-03-20 파일 입출력

파이썬에서 파일 입출력은 다양한 용도로 사용됩니다. 텍스트 파일, 바이너리 파일, CSV 파일, JSON 파일 등을 읽고 쓸 수 있습니다. 1. 파일 열기 파일을 열려면 open 함수를 사용합니다. f = open("파일명", "모드") 파일명: 열고자 하는 파일의 이름이나 경로 모드: 파일을 어떻게 열 것인지를 지정 r: 읽기 모드 (기본값) w: 쓰기 모드 (파일이 있으면 덮어쓰기) a: 추가 모드 (파일의 끝에 내용을 추가) b: 바이너리 모드 (텍스트가 아닌 바이너리 데이터를 읽고/쓸 때 사용) +: 읽기와 쓰기 모드 2. 파일 쓰기 write(): 문자열을 파일에 쓴다. writelines(): 문자열 리스트를 파일에 쓴다. close 메서드를 사용해 파일을 닫습니다. 파일을 닫지 않으면 데이터..

Python/개념 2024.03.20

2024-03-20 파이썬 모듈

1. 모듈 venv 가상환경 저장됨 파이썬에서 모듈을 만들려면 간단히 .py 확장자를 가진 파일에 코드를 작성하면 됩니다. 모듈은 단순한 함수 뿐만 아니라 변수, 클래스 등도 포함할 수 있으며, 다른 스크립트에서 import 구문을 사용하여 가져올 수 있습니다. 1. 아래 코드를 작성하여 math_tools.py 로 저장합니다. # 변수 PI = 3.141592653589793 # 함수 def add(a, b): return a + b def subtract(a, b): return a - b # 클래스 class Circle: def __init__(self, radius): self.radius = radius def area(self): return PI * self.radius * self.rad..

Python/개념 2024.03.20