일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- MySQL
- MySqlDB
- shutil
- node.js
- 오버라이딩
- mro()
- count()
- shuffle()
- __sub__
- CSS
- glob
- zipfile
- inplace()
- JS
- randrange()
- __len__
- __annotations__
- choice()
- Database
- fnmatch
- __getitem__
- remove()
- fileinput
- decode()
- items()
- discard()
- View
- 파이썬
- HTML
- locals()
- Today
- Total
목록파이썬 기초 (29)
흰둥이는 코드를 짤 때 짖어 (왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!왈!)

1. 재귀호출(recursive call) 함수 안에서 동일한 함수를 호출하는 형태 여러 알고리즘, 고급 정렬 알고리즘 작성시 사용됨 1-1. 재귀 호출 분석 2! = 1 * 2 3! = 1 * 2 * 3 4! = 1 * 2 * 3 * 4 = 4 * 3! 1-2. 규칙 n! = n * (n-1)! 규칙을 함수로 표현해보기 함수(n)은 n>1 이면 return n*함수(n-1) 함수(n)은 n=1 이면 return n 1-3. 검증 2! 함수(2)이면 2>1 이므로 2*함수(1) 함수(1)은 1이므로 return 2*1 결과는 2 3! 함수(3)이면 3>1 이므로 3*함수(2) 함수(2)는 1번식에 의해 2!이므로 return 2*1 3*함수(2)는 3*2=3*2*1 결과는 6 4! 함수(4)이면 4>1 ..

In [1]: class Words: def __init__(self, eng, kor, lev=1): self.eng = eng self.kor = kor self.lev = lev def setEng(self, eng): self.eng = eng def getEng(self): return self.eng def setKor(self, kor): self.kor = kor def getKor(self): return self.kor def setLev(self, lev): self.lev = lev def getLev(self): return self.lev In [2]: import MySQLdb class WordsDao: def __init__(self): self.db = None def c..

1. mysqlclient pyMySQL은 pythone으로 만들어진 라이브러리며 자료가 많지만 속도적으로 c언어로 만들어진 mysqlclient 클라이언트가 더 빠르다. 파이썬에서는 MySQL 서버와 통신할 수 있는 파이썬용 데이터베이스 커넥터의 종류가 여러가지 있음 PyMySQL, mysqlclient를 가장 많이 사용함 사용법은 비슷하나 속도가 빠른 mysqlclient를 권장하고 있음 In [1]: !pip install mysqlclient Collecting mysqlclient Downloading mysqlclient-2.1.1-cp38-cp38-win_amd64.whl (178 kB) Installing collected packages: mysqlclient Successfully in..

1. DAO(Data Access Object) DataBase의 data에 접근하기 위한 객체로 직접 DataBase에 접근하여 데이터를 삽입, 조회, 변경, 삭제등을 조작할 수 있는 기능 DataBase 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용 ✅ 비즈니스 로직 업무에 필요한 데이터처리를 수행하는 응용프로그램의 일부 데이터의 입력, 수정, 조회, 삭제 밒 처리 등을 수행하는 각종 처리를 의미 유저의 눈에는 보이지 않지만, 유저가 원하는 행위를 잘 전달하기 위해 짜여진 코드 로직 2. DTO(Data Transfer Object) 데이터 정송(이동) 객체라는 의미 로직을 가지지 않는 순수한 데이터 객체이며 getter/setter 메소드만 가진 클래스를 의미 3. VO(Value O..

1. 압축 파일 정리하기 In [1]: import os os.getcwd() Out[1]: 'C:\\LeeCoding\\Python\\Jupyter' In [2]: # 정리 대상 폴더 경로를 설정 target_path = './고라니' In [3]: # 압축 파일 확인 import glob zipfile_path = [] for filename in glob.glob(os.path.join(target_path, '**/*.zip'), recursive=True): zipfile_path.append(filename) print(zipfile_path) ['./고라니\\데이터저장_물류.zip'] In [4]: # 압축 파일 해제 import zipfile for filename in zipfile_pa..

1.파일 읽기 및 저장하기 1-1. fileinput 텍스트 파일을 읽고, 쓰고, 저장하는 기능을 편리하게 사용할 수 있도록 해주는 라이브러리 여러개의 파일을 읽어서 수정할 수 있음 In [1]: import fileinput import os import glob In [2]: # 형재 경로 확인 os.getcwd() Out[2]: 'C:\\LeeCoding\\Python\\Jupyter' In [3]: # 디렉토리 내 파일 확인 os.listdir(os.getcwd()) Out[3]: ['.ipynb_checkpoints', '24 파일 입출력 라이브러리.ipynb', 'sample'] In [4]: # 경로 설정 path = 'sample/' In [5]: # glob(): 해당 경로의 파일 이름을..

1. 변수 타입 어노테이션 1-1. 타입 어노테이션(Type Annotation) 변수나 상수를 선언할 때 타입을 명시적으로 선언해 줌으로써 어떤 타입의 값이 저장될 것인지를 직접 알려주는 방법 프로그램은 수많은 함수, 클래스 등으로 복잡하게 얽혀있는 경우라 많은데 변수 타입이 맞지 않으면 에러나 버그의 발생 가능성이 매우 높아짐 타입 어노테이션을 사용하면 코드 가독성과 협업 효율성이 매우 높아짐 파이썬 3.5 부터 기능이 지원되어 많은 라이브러리, 프로젝트에서 사용이 확산되는 추세 Java, C, C++ 등은 컴파일 시 변수 타입이 결정되는 정적 프로그래밍 언어이며, 파이썬은 프로그램 실행 도중에 변수 타입을 동적으로 결정하는 동적 프로그래밍 언어임 1-2. 동적 프로그래밍 언어의 장단점 장점 타입이 ..

1. 클로저(Closure) 함수 안의 함수를 결과로 반환할 때, 그 내부 함수를 클로저라고 함 콜백함수, 함수의 순차적 실행, 데코레이터 함수에 사용 In [1]: def mul2(n): return n * 2 In [2]: mul2(10) Out[2]: 20 In [3]: mul2(5) Out[3]: 10 In [4]: def mul5(n): return n * 5 In [5]: mul5(10) Out[5]: 50 In [6]: mul5(5) Out[6]: 25 In [7]: # mul1, mul2, mul3 ... mul100도 만들어야 하나? class Mul: def __init__(self, m): self.m = m def mul(self, n): return self.m * n In [8]..