본문 바로가기

Develop/Python9

Python 작동 원리, Python은 어떻게 작동하는가 왜 파이썬은 좋은가파이썬이 어떻게 동작하는지가 궁금해진 이유는 "왜 파이썬은 좋은가" 라는 질문의 답을 찾고 싶어서 이다.보통 그 이유를 "문법이 쉽다", "라이브러리가 잘되어 있다" 처럼 편.리.해.서 를 길게 말한 경우가 많다. 물론 편리성도 중요한 조건 중 하나지만 그를 제외하고 어떤 특성으로 인해 어떤 측면에서 효율적인지가 궁금해졌다. Python?!파이썬은 1991년 귀도 반 로섬이 발표한 고급 프로그래밍 언어이자 인터프리터 언어이고, 객체 지향 언어이자, 플랫폼에 독립적인 동적 타이핑 대화형 언어이다.파이썬이라는 이름은 귀도가 좋아하는 코미디인〈Monty Python's Flying Circus〉에서 따온 것이다. 이름에서 고대신화에 나오는 커다란 뱀을 연상하는 경우도 있겠지만 이와는 무관하다.. 2023. 8. 24.
[Fastapi] 무작정 프로젝트 만들기 안녕하세요, 은세라 입니다! 블로그에 두문불출 하는 동안 큰 변화가 생겼는데 바로 제가 주니어 첫 이직을 했습니다! 🎉 이직을 해서 가장 큰 문제는 기술 스택이 많이 바뀌었다는 점입니다. java에서 python으로, 프레임워크는 spring에서 fast api로 옮겨가게 되었는데 회사 프로젝트는 설정할게 넘 많아요.. 그래서 개인적으로 해보는 무작정 로컬에 띄워보기 연습입니다! 1. Pycharm 다운로드 파이썬과는 코테 문제만 풀던 사람이라 IDE부터 새로 깔아보겠습니다. https://www.jetbrains.com/pycharm/download/#section=mac Download PyCharm: Python IDE for Professional Developers by JetBrains Dow.. 2022. 8. 27.
[자료구조] | [Python] | DFS 깊이우선탐색 | BFS 너비우선탐색 1. 정의 https://www.youtube.com/watch?v=_hxFgg7TLZQ 2. 선언 Graph - 딕셔너리 dictionary DFS - 스택 stack BFS - 큐 queue itertools 3. 기본 매소드 List와 같다 4. 활용 - 순서에 집착하는 출력 - 모든 경로 다 해보기 - 비선형자료구조 탐색 2021. 8. 5.
[Python] | permutations 사용법 | combinations 사용법 | 순열 | 조합 1. 정의 순열 : 몇 개를 골라 순서를 고려해 나열한 경우의 수 조합 : 몇 개를 골라 순서를 고려하지 않고 나열한 경우의 수 2. 선언 import itertools arr = ['A', 'B', 'C'] nPr = itertools.permutations(arr, 2) ##순열 #[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')] nCr = itertools.combinations(arr, 2) ##조합 #[('A', 'B'), ('A', 'C'), ('B', 'C')] 3. 기본 매소드 4. 활용 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3.. 2021. 8. 5.
[자료구조] [ Python ] 리스트 List 사용법 1. 정의 문자열 2. 선언 list = [ ] #길이가 정해진 리스트 선언 list = [0 for i in range(n)] #0으로 초기화 된 2차원 배열 matrix = [[o for col in range(m)] for row in range(n)] # m x n matrix 3. 기본 매소드 #Slicing list[start : end : term] #길이구하기 len(list) #삭제하기 del list[idx] #요소 추가 list.append(x) list.insert(idx, x) # idx번째에 x를 list += [x, y] #확장extend #정렬 list.sort() list_new = sorted(list) #마지막요소 반환 list.pop() 참고 : https://jobc.. 2021. 8. 2.
[ Python ] | heapq 사용법 | heapsort, 우선순위큐 1. 정의 complete binary tree 이진 트리(binary tree) 기반의 최소 힙(min heap) 자료구조를 제공 => 원소들이 항상 정렬된 상태로 추가되고 삭제 2. 선언 import heapq #다른 list를 heap으로 만든다 heapq.heapify(list) #새로 선언 heap = [] heapq 모듈은 일반 list로 선언해도 heap으로 쓸 수 있다. 자바의 PriorityQueue 클래스처럼 리스트와 별개의 자료구조가 아닌 점에 유의해야함. 3. 기본 메소드 #원소추가 heapq.heappush(list, x) #(heap, 원소) #원소삭제 -> 최소값 삭제(반환) heapq.heappop(list) #삭제하지않고 최소값 얻기 heap[0] 4. 활용 기본 제공되는 .. 2021. 8. 2.