목록개발일지/python (20)
안녕하세요!
보호되어 있는 글입니다.

회원전용 도서관리 프로그램 작성하기 : 회원 번호는 문자열 무엇이든 상관없이 등록 : 서비스 종료시 프로그램 자체 종료 [서비스 이용을 위한 회원 인증] 회원번호 등록 회원 인증 서비스 종료 : 도서 정보 : 도서 번호, 도서 제목, 재고량 : 도서 상태 확인 : 특정 도서에 대한 정보 조회(도서번호, 도서제목, 현재수량/전체수량) [도서 서비스 메뉴] 도서 입고 도서 대출 도서 반납 도서 상태 확인 (도서 번호로 확인 전체 중 남은 수량 ex: 4 / 5) 도서 전체 목록 확인 (입고된 모든 정보 확인) 도서 서비스 종료(회원 인증 메뉴로 갑니다.) 초기에 먼저 정리를 하고 들어갔다. 최초메뉴가 제일 위에 있어야함.(while True로 계속적으로 돌릴 예정) 각각의 메뉴는 input으로 입력받음 1번..

함수를 이용해서 이터레이터(반복)의 기능을 구현 이터레이터와 동일하게 호출 시점에만 메모리를 사용하고, 사용이 끝나면 소멸됩니다. 반환할 때 사용하는 명령어는 return이 아닌, yield를 사용합니다. 이터레이터와 동일하게 전체 또는 nest() 한건씩 출력 가능합니다. 데코레이터,이터레이터,제너레이터는 시스템을 구축할때 많이 사용한다. 제너레이터 기본 문법 def simple_generator() : ###첫번째 반환할 값 yield 1 ###두번째 반환할 값 yield 2 ###세번째 반환할 값 yield 3 for v in simple_generator() : print(v) 1 2 3 제너레이터에서는 함수를 객체로 인지하고 사용하므로 함수를 생성한다는 의미 또는 제너레이터 객체를 생성한다는 의..

https://shinyfood.tistory.com/55 python Iterator(이터레이터)정리1 메모리 사용량 확인 이터레이터 파이썬에서 반복 가능한 객체(클래스)를 표현하는데 사용되는 인터페이스 이터레이터는 iter()함수와 next() 함수를 이용하여 반복(Iterator)을 수행함. 이터레이터를 사용하는 이유를 세 shinyfood.tistory.com 이터레이터의 사용 이유 및 메모리 사용량확인 게시물은 이전게시물이니 참고 바란다. 이번 포스팅에선 2가지를 알아볼것이다. 이터레이터를 이용한 짝수만 나오는 함수, 텍스트파일내의 텍스트를 한줄씩 받아와서 보여주는 함수. 두개의 숫자(시작값, 종료값) 값을 이용해서, 짝수값만 반환하는 이터레이터 만들기 class EvenNumberIterato..

이터레이터 파이썬에서 반복 가능한 객체(클래스)를 표현하는데 사용되는 인터페이스 이터레이터는 iter()함수와 next() 함수를 이용하여 반복(Iterator)을 수행함. 이터레이터를 사용하는 이유를 세가지로 정리해보자면, 메모리의 효율성과 코드의 간결성, 그리고 특정한 조건동안 무한히 반복되는 요소를 처리하기 좋기 때문이다. 앞에서 언급했던 데코레이터는 내부함수로 메모리의 효율성을 줄였다면, 이터레이터는 클래스기준으로 사용을 하며 iter함수와 next함수로 (쌍으로 동반된다) 반복을 수행한다. 이를 통해 메모리에 계속적으로 올라가있지 않으며 for문대신하여 iter와 next함수가 사용되므로 간결해진다. 예를 들자면, # 클래스 정의 class MyIterator: def __init__(self)..

데코레이터(Decorator) 함수의 재사용성을 확장한 개념 방법 데코레이터의 개념을 이해하기위해선, 파이썬에서의 first class 함수, closure함수를 알아야한다. * first class function : 함수 자체를 argument로 다른 함수에 전달 또는 다른 함수의 결과값으로 return 할 수도 있고, 함수를 변수에 할당, 데이터 구조안에 저장할 수 있는 함수를 뜻한다. 함수 실행시간을 확인하는 데코레이터 프로그램을 한번 만들어보도록 하자. 우선 시간을 확인하려면 time을 import 해야한다. import time def timer_decorator(func) : def wrapper(*args, **kwargs) : start_time = time.time() rs = func..

클로저(closure) 함수 안에 함수를 만들어서 사용하는 방식 함수 안에 있는 함수는 바깥쪽 함수에서 참조해서 사용하는 방식으로 접근 함수 안에 함수는 사용이 끝나면 메모리에서 해제되기 때문에 유용하게 사용 클로저란 함수 내부에 함수를 만드는것으로 보면 좋다. 예를들어, def outer_function(x) : def inner_function(y) : s = x + y return s return inner_function closure_exe = outer_function(10) print(closure_exe) closure_exe라는 변수에 outer함수를 넣고(값 10 할당) 프린트해보면 outer 함수의 로컬의 내부함수의 주소가 호출된다. result1 = closure_exe(2) pri..

오늘은 파이썬 총 정리를 하는 시간을 가졌다. 배운것들을 활용하여 도서 키오스크를 만들었다. class LibraryKiosk: def __init__(self): self.books = {} def add_books(self,book_id, title, quantity): if book_id in self.books: self.books["quantity"] += quantity else: self.books[book_id] = {"title" : title, "quantity" : quantity} print(f'도서번호:{book_id}, 제목:{title}, 수량:{quantity}') def borrow_books(self,book_id): if book_id in self.books and s..