☆IT 개발 프로그램☆/Phthon 8

[JSon] 파이썬에서 Json 형식 데이터 처리하기 (가져오기/내보내기/업데이트)

Python 2.x에서는 Dictionary에 한글 데이터를 저장하는 것을 지원하지 않는다. 따라서 Json파일을 외부에 따로 만든 후, 메인 스크립트에서 해당 제이슨파일을 임포트하여 사용하는 것을 추천한다. Python 3부터는 Dictionary에 직접 저장하는 것도 가능하다. ​ 1. 가져오기 IMPORT # json_python.py json_dict = { 'category': 'food', 'name': 'mcdonalds', 'price': '1000' } import json_python import json json_dict = json.loads(json.dumps(json_python.json_dict)) print (json_dict) {u'category': u'food', u'p..

[파이썬/Python] 티켓팅 자동화 매크로 개발해보기

처음에 블로그를 개설할 때는, 유익한 IT블로그를 만들겠다는 야심찬 포부가 있었는데, IT 포스트로 유입이 거의 전혀 없다시피 하다보니, 아무래도 잘 하지 않게 됩니다. 물론 유입이 없는 건 제 포스팅 역량 부족 + 개발 역량 부족 때문이지만서도요...ㅎㅎㅎ 무튼 개인적 호기심으로 만들어 보았던 티켓팅 자동화 매크로 코드입니다. 저는 업무외에 혼자서 코딩할때에는 거의 파이썬으로 합니다. 구현 알고리즘 티켓팅 자동화를 구현하기 위해서 3가지 방법을 고려할 수 있습니다. 1. 좌표를 설정하여 자동화 구현 2. 각 엘리멘트를 바로 실행시키는 웹 자동화 형식 3. 서버단에 예매정보 패킷 전송 좌표 설정법은, UI적으로 위치적 변화가 있을 경우 작동하지 않는다는 단점이 있습니다. 웹 자동화 형식은 좌표 변화에는 ..

[파이썬/Python] mysql connector 라이브러리로 MySql 연동하기

전제 조건 외장 라이브러리의 사전 설치를 요한다. 맥/리눅스 사용자는 콘솔에서 아래의 명령어로 바로 설치하는 것을 권장한다. # MySql 8.0 이상 유저 pip install mysql-connector-python # 하위 버전 pip install mysql.connector Pycharm의 경우 프로그램 안에서 라이브러리 설치도 지원한다. Pycharm - Preference - Project: 프로젝트명 - Project Interpreter 으로 이동, 하단의 + 를 클릭하여 검색, 설치가 가능하다. 코드 전개 python으로 접근할 mySql table import mysql.connector #-----------------------------------------------------..

[파이썬 주식 분석] 매수 적정 PER 구하기 (당기순이익 증감 예상이용)

주식 매수 의사결정 모형 요즘 주식시장에 푹 빠져있다. 자기 전에 침대에 누워서 결산 보고서를 읽으면서 종목 평가하는 게 큰 즐거움인데, (마침 중간 결산 시즌이다.) 고평가 되어있는지, 저평가 되어있는지 판단하기 위해 간단한 코드를 짜 봤다. 어젯밤에 짜서 오늘 아침에 처음 써 봤는데, 한눈에 결과가 정리되니까 투자 판단이 정확하게 된다. 역시 이런 간단 계산은 컴퓨터를 시켜야 한다..ㅎ 물론 코딩 로직과 미래 예측은 전혀 별개의 이야기다. 당기순이익 증가율(여기서는 p)이 예측이 된다면 누구나 벼락부자가 되겠지만... 그걸 모르니까 문제다! 하지만 개중에는 경기의 영향을 덜 받고, 매년 일정 비율만큼 이익이 상승하는 (혹은 유지하는) 업종들이 있다. 그런 종목들은 미래에도 비슷한 추세를 따를 거라고 ..

[파이썬] 자료구조 Comprehension : 람다형 자료구조 코딩

comprehension 란 파이썬에서 iterator 로 매우 간단하게 배열을 만드는 방법이다. 3줄 이상 작성되는 코드를 한 줄로 줄일 수 있다. 리스트를 만드는 법을 소개한 후, 말미에 딕셔너리 작성법도 후술한다. Syntax # list 작성법 새 리스트 = [ expression(item) for item in list if 조건절 ] [예시] 리스트 만들기 1) 조건문 만족하는 element 로 리스트 만들기 new_list = [] list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 기존의 list 리스트에서 짝수만 골라내서 새 리스트에 담고 싶다고 가정해보자. 리스트 컴프리핸션을 사용하지 않으면 아래와 같이 3 줄의 코드로 작성된다. for item in list: if ..

[파이썬] *args, **kwargs를 이용해 메소드 축약 작성하는 법

개요 *args와 **kwargs를 사용하면, 비슷한 특성을 가진 많은 인수(Argument)들을 함수로 넘겨줄때 유용하다. 먼저, 넘어오는 인수의 개수를 특정하지 않음으로써 상황에 따라 인수의 개수를 줄일수도, 늘릴수도 있다는 점이 장점이다. 또한, 인수가 너무 많으면 메소드의 가시성이 떨어지기 마련인데 이를 묶어서 배열처리 함으로 코드의 가시성이 좋아진다. 문법 (Syntax) 1.1 *args 파싱 # 메소드 정의 def method(*args): for i in args: //처리 # 메소드 콜 method(arg1, arg2) method(arg1, arg2, arg3, ..., argN) 메소드 정의 단계에서, 같은 특성을 가지는 argument들을 배열으로 받을 수 있도록 '*'을 붙여서 정..

[파이썬 Collections API] 파이썬3의 자료구조 컨테이너 모듈

개요 파이썬의 collections 모듈은, 파이썬에 내장된 일반 자료형의(dict, list, set, tuple) 컨테이너 타입을 조금 더 발전시킨 형태의 구현체이다. 파이썬 2.7 까지는 네임드튜플, 디큐, 카운터, 순서형 딕셔너리, 기본 딕셔너리의 다섯 개의 컨테이너를 구현하고 있었으나 파이썬 3부터는 체인맵, 유저 딕셔너리, 유저 리스트, 유저 스트링 등의 자료구조가 추가되었다. 바로가기 1. namedtuple() 네임드 튜플 2. deque 큐 3. Counter 카운터 4. OrderedDict 순서형 딕셔너리 5. defaultDict 기본형 딕셔너리 6. ChainMap 체인맵 자료형 요약 namedtuple() 다수의 필드 정보를 가지는 데이터를 저장할 때, 클래스의 객체를 생성하여 ..

Python으로 계산기 구현하기 (Postfix)

목차 1. Infix 표기법 2. Postfix 표기법 3. 코드 구현 4. 테스트 케이스 Infix Notation Infix 표기법은 연산 시에 피연산자 사이에 연산자를 배치하는 것이다. a + b처럼 인간이 알아보기 가장 쉬운 형태이다. Postfix Notation Postfix 표기법은 연산시에 피연산자 뒤에 연산자를 배치하는 것이다. 컴퓨터가 인식하기 쉽게 하기 위하여 고안되었다. a와 b를 더하는 연산은 Postfix 라면 a b + 가 된다. Postfix Implementation def cal_by_postfix(exp): s = deque() for e in exp: if e not in operators: s.append(e) elif e == '+': n1 = s.pop() n2 ..