사용할 데이터 https://www.data.go.kr/data/15083256/fileData.do 한국소비자원_생필품 가격 정보_20221223 한국소비자원 참가격정보서비스에서 제공하고 있는 생필품 가격 정보로 상품명, 조사일, 판매가격, 판매업소, 제조사, 세일여부, 원플러스원 컬럼을 포함하고 있습니다. www.data.go.kr 위 링크의 csv를 사용할 것이다. 아무 데이터나 상관없다. 엑셀로 열어보면 이런 형식으로 되어있다. (왜 허니버터아몬드가 생필품인건지...) 코드 나는 많이 비싼건 살 수 없기 때문에, "한국소비자원 생필품 가격 정보" 리스트에서 생필품 가격중 5,000원 이하인 리스트만 뽑아낼 것이다. 단 같은 품목이면 제일 높은 가격을 기준으로 한다. 우선 csv모듈을 import해..
Configparser - 프로그램의 실행 설정을 파일에 저장한다. - Section, Key, Value 값의 형태로 설정된 설정 파일을 사용한다. - 설정 파일을 Dict 타입으로 호출후 사용한다. 값의 key, value 표시는 등호(=) 또는 콜론(:)을 써도 된다. cfg 파일의 내용을 가져오는 예시 코드. Argparser - 콘솔창에서 프로그램 실행시 Setting 정보를 저장한다. - 거의 모든 Console기반 파이썬 프로그램에서 제공한다. (예시 : ls --help 인자) - Command Line Option이라고도 부른다. #파이썬 #python #argparser #logging #configparser
로깅 레벨 로그를 남길 때 레벨 순으로 로그를 남기는 것이 좋다. debug → info → warning → error → critical 순으로 레벨이 높아지며, warning 레벨 부터는 사용자에게 표시되며 기본 레벨로 설정되어 있다. 표시되는 로깅 레벨을 바꾸려면 파이썬 3.8 미만은 logger.setLevel(logging.INFO) ← 로깅 레벨 을 썼지만, 3.8 이상은 logging.basicConfig(level=logging.DEBUG) ← 로깅 레벨 을 쓴다.
데코레이터란? 파이썬에서 제공하는 기능이다. 어떤 함수를 장식(decorate)한다고 해서 붙여진 이름. 데코레이터를 쓰는 이유는 기존 함수를 수정하지 않으면서 추가 기능을 구현하거나 복잡한 함수를 간단하게 하기 위함이다. 클로져란? 클로져(closures)란 inner function을 return값으로 반환하는 것을 뜻한다. 위 코드에서 another이라는 변수는 print_msg함수이다. (이는 파이썬에서 함수는 일급 객체이기 때문에 가능하다.) another함수가 호출되면 print_msg함수가 호출되고 내부 pinter함수를 반환하는데, 이런걸 클로져라고 부른다. 클로져는 내부 함수가 메모리에 존재하지 않는 경우에도, 호출될 때 주변 환경을 기억한다. 그래서 printer에 msg값을 넘겨주지 ..
asterisk (별표, *)란? aterisk는 별표를 뜻하며, 단순 곱셈(2*1), 제곱 연산(3**2), 가변 인자(*args)등 다양하게 사용된다. 가변인자(variable length) 개수가 정해지지 않은 변수를 함수의 파라미터로 사용할 때 개수가 정해지지 않은 변수를 가변인자라고 한다. 입력된 값은 tuple 타입이며, 함수 파라미터에서 딱 한 번, 키워드가 정해지지 않는 마지막 위치에 사용가능하다. 키워드 가변인자란 asterisk(*) 2개를 사용하여 함수의 파라미터를 표시하는 것을 뜻한다. 입력된 값은 dict 타입이다. Unpacking Container 함수의 parameter를 전달할 때 asterisk(*)를 사용하여 데이터 꾸러미를 풀어주는 것을 뜻한다.
왜쓰는지? 메모리 주소 절약을 위해 iterator란? sequence형 자료형에서 데이터를 순서대로 추출하는 object. 열거할 수 있는 데이터 타입들의 총칭이라고 생각하면 된다. 예를 들어 list, tuple, string 등 순서가 있는 데이터 타입들이 있다. iter로 선언하게 되면 메모리에 직접 값이 올라가지 않고 시작 메모리 주소 값만 가지고 있다고 한다. 내부적으로 __iter__와 __next__가 구현되있다. 이 함수로 iterable 객체를 iterator object로 사용한다. generator란? iterable object를 특수한 형태로 사용해주는 함수. element가 사용되는 시점에 값을 메모리에 반환한다. yield를 사용해 한번에 하나의 element만 반환한다. 왼..
정규표현식(Regular Expressions) 파이썬은 정규 표현식을 지원하기 위해 re모듈을 제공한다. 메서드 목적 match() 문자열의 처음부터 정규식과 매치되는지 조사한다. search() 문자열 전체를 검색하여 정규식과 매치되는지 조사한다. findall() 정규식과 매치되는 모든 문자열을 리스트로 돌려준다. finditer() 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 돌려준다. match 객체의 메서드 목적 group() 매치된 문자열을 돌려준다. start() 매치된 문자열의 시작 위치를 돌려준다. end() 매치된 문자열의 끝 위치를 돌려준다. span() 매치된 문자열의 (시작, 끝)에 해당하는 튜플을 돌려준다. - 메타 문자 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별..
- 내장함수 len() abs() all() any() chr() dir() divmod() enumerate() eval() filter() hex() id() input() int() isinstance() list() map() max() min() oct() open() ord() pow() range() round() sorted() str() sum() tuple() type() zip() - string count() find() join() upper() lower() lstrip() rstrip() strip() split() - list append() sort() reverse() index() insert() remove() pop() count() extend() - dict ke..