Python 36

[Python MySQL] 회원가입, 로그인, 회원정보 수정, 회원 탈퇴 프로그램 만들기

https://sdesign416.tistory.com/44 [Python MySQL] Python에서 MySQL 연결하고 데이터 조회하기Python 설치부터 VSCode, Jupyter, venv설정까지파이썬을 시작하기 앞서가장 중요한 것은 개발환경 설정이다. Python 설치, VSCode 확장 프로그램, venv 가상환경까지 한 번에 등장하다보니각 역할이 무엇인sdesign416.tistory.com1) 회원가입 프로그램 만들기 (INSERT)정보는 input함수로 입력받는다.반복문을 사용하여 여러 회원을 가입받을 수 있도록 한다.추가 가입 여부를 물은 후 y를 입력 시 추가 회원가입을 진행한다.1_1) 기본 조건 # 데이터베이스 사용 선언import MySQLdb # 데이터베이스 연결db = My..

Python/Database 2026.06.09

[Python MySQL] Python에서 MySQL 연결하고 데이터 조회, 추가하기

Python 설치부터 VSCode, Jupyter, venv설정까지파이썬을 시작하기 앞서가장 중요한 것은 개발환경 설정이다. Python 설치, VSCode 확장 프로그램, venv 가상환경까지 한 번에 등장하다보니각 역할이 무엇인지 정확히 알아야 할 필요가 있다.1. Pythonsdesign416.tistory.com위 글을 참고하여터미널 cmd로 설정 후 venv 생성 후 아래 내용 실행 [MySQL] 서브쿼리(Sub Query) - 단일행, 다중행, 스칼라, 인라인 뷰서브쿼리는 SQL문 안에 들어가는 또 다른 SELECT문이다.메인쿼리에 종속되어 있어 메인쿼리 없이 단독적으로 실행될 수 없으며서브쿼리는 메인쿼리의 컬럼을 사용할수는 있지만반대로 메인쿼리sdesign416.tistory.comSQL에..

Python/Database 2026.06.09

[자료구조] 힙(Heap)- 힙 동작과정, 힙의 시간복잡도, 파이썬 코드로 구현하기

[파이썬 자료구조] 트리(Tree), 이진 트리(Binary Tree), 트리 순회파이썬 공부를 하다보면 데이터를 단순히 순서대로 저장하는것 뿐만 아니라데이터간의 관계를 표현해야하는 상황도 발생한다. 예를 들어 컴퓨터의 폴더 구조, 회사의 조직도처럼 부모-자식 관sdesign416.tistory.com [파이썬 자료구조와 알고리즘] 시간 복잡도, 빅오 표기법프로그램을 개발할때에는 같은 결과를 만들어 내는 코드라도 실행 속도는 천차만별이다. 예를 들어 특정 데이터를 찾을 때처음부터 끝까지 순서대로 하나씩 확인하는 방법이 있고,정렬된 데이sdesign416.tistory.com힙(Heap)이란?힙은 완전 이진 트리를 기반으로 한 자료구조이다.각 노드가 자식 노드보다 작거나 같은(최소 힙) 또는크거나 같은(최..

[자료구조와 알고리즘] 공간 복잡도

[파이썬 자료구조와 알고리즘] 시간 복잡도, 빅오 표기법프로그램을 개발할때에는 같은 결과를 만들어 내는 코드라도 실행 속도는 천차만별이다. 예를 들어 특정 데이터를 찾을 때처음부터 끝까지 순서대로 하나씩 확인하는 방법이 있고,정렬된 데이sdesign416.tistory.com공간 복잡도란?공간 복잡도는 입력 크기에 따라 알고리즘이 추가로 필요해하는 메모리의 증가량을 나타낸것이다.다시말해, 알고리즘이 프로그램을 실행하여 완료하는데까지 필요로 하는 총 메모리 공간의 양이다. 보통 공간 복잡도는 보조공간을 의미하고있다.※ 보조 공간 : 입력 자체를 담아두는 메모리를 제외한 알고리즘이 따로 쓰는 메모리※ 총 공간 = 입력 공간 + 보조 공간1) 고정공간과 가변공간공간 복잡도는 프로그램 실행 시 고정적으로 필요한..

[자료구조] 해시 테이블(Hash Table), 해시 함수, 해시 충돌, 해결방법

해시 테이블은 key와 value를 저장하는 자료구조로Python의 딕셔너리는 내부적으로 해시 테이블 구조를 사용한다. 데이터를 저장할 위치를 해시 함수(Hash Function)로 계산하기 때문에,평균적으론 O(1)의 시간복잡도를 가진다.※ 시간복잡도 설명 보러가기💡 해시 테이블 언제 사용할까?1000개의 책이 있는 도서관에서 책을 찾는 상황으로 비교하는 예시 👎 일반적인 배열, 리스트를 사용할 때"첫번째 칸부터 순서대로 다 뒤져보자" 라는 식으로 찾게되는데운이 좋으면 맨 앞에서 찾을수도 있지만,최악의 경우 1000번을 모두 다 확인해서 책을 찾아야한다. (시간 복잡도 : O(n)) 👍 해시 테이블 사용할 때도서 검색대에 찾고싶은 책이름을 검색했을 때,몇층 몇구역 몇번대 라고 해당 위치가 바로 ..

[자료구조와 알고리즘] 시간 복잡도, 빅오 표기법

프로그램을 개발할때에는 같은 결과를 만들어 내는 코드라도 실행 속도는 천차만별이다. 예를 들어 특정 데이터를 찾을 때처음부터 끝까지 순서대로 하나씩 확인하는 방법이 있고,정렬된 데이터를 활용해서 훨씬 빠르게 찾아내는 방법도 있다. 데이터의 개수가 적을때는 큰 차이를 못느끼지만,수백개, 수만개의 데이터를 처리하게 되면 알고리즘의 성능 차이는 매우 극명하게 나타난다. 이때 알고리즘의 성능 분석을 하기 위해 사용되는 개념이 시간 복잡도이다.시간 복잡도란?시간 복잡도는 프로그램이 실행될 때 걸리는 시간을입력 크기에 따라 나타낸 것이다. 여기서 말하는 시간은 실제 시간(몇시, 몇분, 몇초)를 뜻하는게 아니라프로그램이 실행되면서 수행되는 연산의 횟수를 말하는 것이다. 쉽게 말해 시간 복잡도는'데이터가 많아졌을 때 ..

[자료구조] 트리(Tree), 이진 트리(Binary Tree), 트리 순회

파이썬 공부를 하다보면 데이터를 단순히 순서대로 저장하는것 뿐만 아니라데이터간의 관계를 표현해야하는 상황도 발생한다. 예를 들어 컴퓨터의 폴더 구조, 회사의 조직도처럼 부모-자식 관계를 가지는 데이터는 일반적인 배열이나 연결리스트로 표현하는데 어려움이 있다. 이때 트리(Tree) 자료구조를 사용할 수 있다.트리(Tree)란?트리(Tree)는 데이터를 계층 구조로 저장하고 관리할 수 있는 자료구조이다. 이름 그대로 트리를 생각하면 쉽다.나뭇가지가 뻗어나가는 것 처럼, 시작점에서 여러 방향으로 데이터가 연결되는 방식이다. 부모-자식 관계를 통해 데이터를 표현하는 방식으로계층적인 데이터를 표현할 때 많이 사용되고 있는 자료구조이다.트리의 구조노드(Node) : 트리를 이루고있는 각각의 값루트(Root) : 가..

[자료구조] 선형 리스트(Linear List), 연결 리스트(Linked List), 이중 연결 리스트(Doubly Linked List)

선형 리스트 (Linear List)선형 리스트는 데이터가 순서대로 나열되어 있는 자료구조이다.일반적으로 배열(Array)처럼 연속된 기억 장치에 저장되는 구조로 생각하면 된다.선형 리스트의 특징구조가 단순하다.인덱스를 사용한 데이터 접근 속도가 빠르다.연속된 메모리 공간을 사용한다.중간 삽입과 삭제가 많을경우 비효율적이다.💡선형 리스트와 배열의 차이선형 리스트는 데이터들이 빈틈없이 순서대로 나열된 논리적인 구조이고배열은 그 선형 리스트를 컴퓨터 메모리에 연속적으로 방을 잡아 구현해낸 물리적인 형태이다. 쉽게 말해,선형 리스트가 차례대로 줄을 서서 기다리는 추상적인 규칙이라면배열은 그 규칙을 현실에서 1번자리, 2번자리, 3번자리,... 처럼 연속된 의자로 만들어둔것과 같다.연결리스트 (Linked L..

파이썬 패키지와 모듈 (모듈 생성, 모듈 가져오기, 모듈 설치, 패키지 생성, 패키지 사용하기)

Python에서 프로그램을 만들다 보면 코드의 양이 점점 많아지게 된다. 처음엔 하나의 파일에서 모든 코드를 작성해도 문제가 되지 않지만,프로젝트 규모가 커질수록 기능별로 코드를 분리하여 관리하는 것이 좋다. 이때 모듈(Module)과 패키지(Package)을 사용하게 된다.모듈(Module)이란?Python에서 모듈은 관련된 함수, 클래스, 변수들을 하나의 파일(.py)로 묶어놓은 것을 의미한다. 모듈을 사용하면 코드를 기능별로 분리할 수 있어관리가 쉬워지고, 다른 파일에서도 재사용할 수 있다. 해당 모듈 파일은 다른 사람이 만든 모듈을 가져와 사용할수도 있고내가 직접 모듈을 만들어 코드를 관리할 수도 있다.모듈의 장점기능별로 코드를 분리하여 관리할 수 있기 때문에코드 가독성이 좋고 유지보수가 편리하다..

Python/기초 2026.06.01

파이썬 매직 메서드와 제너레이터

매직 메서드(Magic Method)는 스페셜 메서드라고도 불리며,메서드 양쪽에 언더스코어(__) 두개로 감싼 형태를 가지고 있다. 매직 메서드는 클래스 내부에서 특별한 기능을 수행할 수 있으며,Python의 내장 기능과 상호작용할 때 호출된다. 주요 매직 메서드__str__()__repr__()__getitem__()__setiten__()__delitem__()__call__()__len__()__wnter__()__exit__()1. 객체를 출력하는 매직 메서드1_1) __str__()__str__()는 객체를 사람이 읽기 쉬운 문자열로 표현하기 위해 사용되는 매직 메서드이다.보통 print나 srt로 객체가 호출될 때 자동으로 실행되며이 메서드를 클래스에 정의하면객체를 출력할 때 기본 주소값 대신..

Python/기초 2026.06.01