[SQLite3] SQLite는 별도의 DB 서버가 필요없이 DB 파일에 기초하여 데이타베이스 처리를 구현한 Embedded SQL DB 엔진이다. SQLite는 별도의 복잡한 서버 설치가 필요 없고, 쉽고 편리하게 사용할 수 있다는 점에서 널리 사용되고 있다. 오늘날 대부분의 Mac OS X 나 리눅스에서는 SQLite을 기본적으로 내장하고 있지만, 만약 시스템에 내장되어 있지 않는 경우는 http://www.sqlite.org 에서 다운받아 설치할 수 있다. SQLite는 기본적으로 SQLite DB 엔진과 "sqlite3" 라는 Command line tool 을 갖고 있다. [초기화 및 테이블/필드 추가] import sqlite3 con = sqlite3.connect(':memory:') # ..
[요소를 모두 특정함수를 통해 변경하고자 할때] s = (str(i) for i in range(10)) s = "12345" s = ("1", "2", "3") s = [str(i) for i in range(10)]generator, string, list, tuple 등 가능 ns = list(map(int, s)) print(ns)map 함수의 인자로 첫번째는 요소의 값을 변경할 함수이름, 두번째는 변경할 데이터를 넣는다. ns = list(map(lambda x: x*2, s)) print(ns)람다를 통해서도 구현가능하다.
[time] foo 함수의 실행완료 시간을 다음과 같이 측정할 수 있다. 너무 간단한 연산에는 0에 가까울 것이다. def foo(): print("foo") import time start = time.time() foo() print("delay=", time.time()-start) [timeit] time 으로 시간을 측정해도 되지만 좀더 정확한 시간을 측정하고자 개발됐다. timeit 모듈은 프로그램을 여러번 실행해 os 에 관련 없는 요인으로부터 영향을 덜 받아 정확한 측정이 가능하게 해 직접적인 컨트롤이 필요없다.import timeit import time start = timeit.default_timer() print("start") time.sleep(2) print("end") en..
[container: 컨테이너] 원소들을 가지고 있는 데이터 구조, 멤버십 테스트를 지원한다. 보통, 모든 원소값을 메모리에 가지고 있다. 잘 알려진 컨테이너는 다음과 같다. list, deque, set, dict, tuple, str,.... 컨테이너는 실세계의 컨테이너(박스, 컵보드, 집, 화물 등)처럼 생각하면 다루기 쉽다. 기술적으로, 어떤 객체가 특정한 원소를 포함하고 있는지 아닌지 판단할 수 있으면 컨테이너라고 한다. 대부분의 컨테이너가 자신이 포함하고 있는 모든 원소들을 생성하는 방법(요소의 접근)을 제공하지만 이기능은 컨테이너로 만드는게 아니라 이터레이블로 만든다. 모든 컨테이너가 이터레비을할 필요는 없다. [멤버십테스트]assert 1 in [1, 2, 3] assert not in [..
두 함수는 똑같아 보입니다. 하지만 검색 성능은 확연히 다릅니다. lookup_set 함수가 파이썬에서 셋(set)은 해시테이블이라는 사실을 이용하기 때문입니다. 리스트 안에 어떤 아이템이 존재하는지 확인하려면 파이썬은 그 아이템과 매칭되는 것을 찾을 때까지 각각의 아이템을 모두 검사해야만 합니다. 이 작업에는 시간이 걸립니다. 리스트가 긴 경우에는 더욱 그렇습니다. 반면에 셋(set)에서는 각 아이템의 해시가 셋 안에의 어느 곳에 매칭되는 아이템이 위치하는지 알려줍니다. 결과적으로 셋(set)이 크더라도 검색이 빠르게 완료됩니다. 딕셔너리(dictionary)에서의 검색도 마찬가지로 수행됩니다. 더 많은 정보를 윈하시면 StackOverflow 를 참조하세요. 데이터 구조에 따라 각 연산자들이 어느 정..
- 언패킹할 때 모든 요소를 사용하지 않을 수도 있다. - 사용하지 않을 변수의 위치에는 __ (언더 스코어) 로 표시하면 된다. ns = [i for i in range(10)] for __, item in enumerate(ns): print(item) 이 안내서에서는 쓸모없는 변수를 치워버리는데 언더스코어 두 줄 “__” 을 사용할 것을 추천하지만, 다른 많은 파이썬 스타일 안내서에서는 언더스코어 한 줄 “_” 을 사용하라고 합니다. 하지만 “_” 에는 문제가 있습니다. “_” 이 일반적으로 gettext() 함수의 별칭(alias)로 쓰일 뿐 아니라, 대화형 프롬프트상에서 이전 명령어의 결과값을 가지고 있는 변수로 쓰이기 때문입니다. 그 대신 언더스코어 두 줄을 사용하면 아주 깔끔하고 편리할 뿐만..
파이썬 클래스가 내장 시퀀스(dict, tuple, list, str 등) 처럼 동작 하도록 하는 방법은 여러가지가 있다. 클래스 매직 매소드를 이용하여 강력한 기능을 구현해 보자 class Coo: def __init__(self): self.info = list() def add(self, item): self.info.append(item) def remove(self, index): self.info.pop(index) def __contains__(self, item): return item in self.info def __iter__(self): return iter(item for item in self.info) def __getitem__(self, index): return self...
[함수 오버로딩: Overloading] 함수이름이 같고 매개 변수의 타입과 갯수가 다른 함수들을 의미한다. def foo(a):... def foo(a, b):... [함수 오버라이딩: Overriding] 부모 클래스의 정의한 메서드를 자식 클래스에서 변경하는 것 [연산자 오버로딩: Overloading] 객체의 연산자를 새로 정의 해서 사용하는 것! class Order: def __init__(self, amount): self.amount = amount def __add__(self, other): return Order(self.amount + other.amount) o1 = Order(100) o2 = Order(300) print(o1.amount) o1 += o2 print(o1.am..
- Total
- Today
- Yesterday
- Tistory
- 파이썬 입문
- 장고
- django
- 면접정답
- GIT
- 파이썬 프로그래밍
- 문서 비교
- gitignore
- 장고 플러스친구 자동응답
- 이미지 비교
- Python
- 엑셀 비교
- 모바일 스킨 적용
- 모바일 테마 적용
- pycrypto
- virtualenv
- PuTTYGen
- 장고 카톡 자동응답
- admin.py
- wsgi
- 파이썬 독학
- chatbot
- gitlab
- 파이썬 강좌
- 파이썬
- django chatbot
- 문과 코딩
- 면접답변
- 플러스친구 자동응답
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |