Python
-
[PyQt5] 4. EventPython/PyQt5 2021. 5. 19. 12:36
signal, slot GUI에서 버튼이 클릭이 된다던지 등의 사건을 event라고 합니다. event가 발생하면 (버튼이 눌러지면) 그에 따른 일(창을 띄운다, 결과를 출력한다 등)을 해야겠죠? 그것을 처리하는 함수를 event handler라고 합니다. Qt에서는 event를 signal, event handler를 slot이라고 합니다. 이벤트 루프 PyQt에서는 exec_()로 이벤트 루프를 실행한다고 했습니다. 파이썬 2까지는 exec가 예약된 키워드였기 때문에 exec에 밑줄이 추가되었습니다. 파이썬 3부터는 exec가 예약된 키워드가 아닙니다. 그래서 exec(), exec_() 모두 가능합니다. 이벤트 루프란 다음과 유사합니다. def mouse_clicked(): print('마우스가 클..
-
[PyQt5] 3. ClassPython/PyQt5 2021. 5. 18. 22:30
이런 코드를 쓸 수도 있지만 조금만 프로젝트가 복잡해져도 힘들어지기 때문에 대부분 클래스를 이용해서 GUI를 만듭니다. from PyQt5.QtWidgets import QApplication, QMainWindow app = QApplication([]) my_window = QMainWindow() my_window.setWindowTitle('My App') my_window.setGeometry(100, 100, 300, 300) my_window.show() app.exec_() https://github.com/pycrawling/pyqt5_study/blob/main/pyqt5_study_03-1.py 클래스를 만들고 최상위 위젯 QWidget, QDialog, QMainWindow 등을 상..
-
[PyQt5] 2. Hello World!Python/PyQt5 2021. 5. 18. 19:30
import sys from PyQt5.QtWidgets import * app = QApplication(sys.argv) label = QLabel('Hello World!') label.show() app.exec_() https://github.com/pycrawling/pyqt5_study/blob/main/pyqt5_study_02.py 위 코드를 실행(shift+F10)하면 아래와 같은 조촐한 화면이 나옵니다. 1. sys와 sys.argv import sys print(sys.argv) # ['C:/PyApp/qt_demo/main.py'] sys.argv는 실행파일의 옵션을 받을 때 사용합니다. 문자열 list 형식으로 들어오는데요. GUI 프로그램을 작성할 때 sys.argv를 사용할 ..
-
[PyQt5] 1. 설치Python/PyQt5 2021. 5. 18. 17:53
1. 파이썬 설치 파이썬 3.9 버전을 설치합니다. 본인이 사용 중인 OS에 따라 32bit, 64bit 버전을 고르면 됩니다. 모르면 32bit. https://www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org 2. 파이참 설치 무료버전인 커뮤니티 버전을 고릅니다. https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows 다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE www.jetbrains.com 3. 프로젝트 생성 4. PyQt5 설치 PyQt5를 설치하면, 파이참..
-
[기사] “2~5배 더 빠르게”··· 귀도 반 로섬, 파이썬 속도 개선한다Python/이것저것 파이썬 2021. 5. 17. 09:06
https://www.ciokorea.com/news/193909?fbclid=IwAR3fpAX6fbBlmBqKJX5I6eEYwWWVQIUiMb3PP4D7Knm2qryEwHkbpV20ods “2~5배 더 빠르게”··· 귀도 반 로섬, 파이썬 속도 개선한다 파이썬(Python) 창시자 귀도 반 로섬이 파이콘 2021(Pycon 2021)에서 진행된 파이썬 랭귀지 서밋(Python Language Summit)에서 파이썬 속도를 2배에서 5배까지 더 빠르게 만들기 위한 단기 및 장기 계획을 발표 www.ciokorea.com 파이썬 창시자 귀도 반 로섬 "최대 약점인 속도 최대 5배 향상 예정" 속도향상 프로젝트는 마이크로소프트 산하 연구팀 주도
-
덕 타이핑Python/이것저것 파이썬 2021. 5. 16. 08:48
Duck Typing - 'If it walks like a duck and it quacks like a duck, then it must be a duck' '오리처럼 걷고, 오리처럼 꽥꽥거리면, 그것은 오리임이 틀림없다.' 간단하게 코드를 만들어 봤습니다. Bird와 Cat는 전혀 다른 클래스입니다. 하지만 같은 메서드명을 가지고 있기 때문에 who_sing 함수에서 두 클래스의 메서드를 모두 사용할 수 있습니다. 파이썬에서는, 전혀 다른 클래스지만 같은 이름의 속성이나 메서드가 있다면, 특별한 구분 없이 쓸 수 있음을 알 수 있죠. 어떤 객체가 어떤 타입에 걸맞은 속성(변수)과 메서드(함수)를 가지면, 그 객체는 해당 타입에 속하는 것으로 간주하는 것을 덕 타이핑이라고 합니다. class Bird..
-
다익스트라 알고리듬(파이썬)Python/파이썬 자료구조 알고리듬 2021. 5. 1. 21:05
namu.wiki/w/다익스트라%20알고리즘 다익스트라 알고리즘 - 나무위키 다익스트라 알고리즘은 다음과 같다. (P[A][B]는 A와 B 사이의 거리라고 가정한다) 출발점으로부터의 최단거리를 저장할 배열 d[v]를 만들고, 출발 노드에는 0을, 출발점을 제외한 다른 노드들에는 namu.wiki https://www.youtube.com/watch?v=611B-9zk2o4 기본적으론 이렇게 코딩할 수 있고..... O(V^2)의 시간복잡도를 가집니다. # 다익스트라 # 2021.05.01 # ComDoc def dijkstra(start, pairs): graph = {} for v1, v2, distance in pairs: graph.setdefault(v1, {v2: distance}) graph[..
-
이승준님의 시가총액 데이터셋 - marcapPython/파이썬과 주식, 코인 2021. 1. 25. 08:13
https://financedata.github.io/marcap 시가총액 데이터셋(marcap) market cap datasets (1995~2021 daily, 10 million+ rows) financedata.github.io FinanceDataReader도 잘 쓰고 있는데... 감사합니다. 설명이 잘 되어 있어서 별도의 설명이 필요할 것 같지 않습니다. 링크를 참고하세요. ^^ 2021-05-24) 소개해 놓고 한참 쓰지 않다가 이제야 테스트 해 보았습니다. read_scv를 이용해 직접 다루는 것에는 문제가 없지만. 아쉽게도 marcap_data 함수는 약간의 오류가 있네요. 간단한 수정으로 오류를 잡을 수는 있겠지만...