이어서 우리 PC에서 Kiwoom API를 사용할 수 있도록 설정하는 _make_kiwoom_instance 함수를 만들어 보겠습니다. 앞서 작성한 Kiwoom.py 파일에 이어서 다음 코드를 작성합니다.
Kiwoom.py
from PyQt5.QAxContainer import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Kiwoom(QAxWidget):
def __init__(self):
super().__init__()
def _make_kiwoom_instance(self):
self.setControl("KHOPENAPI.KHOpenAPICtrl.1")
이 함수를 살펴보면 몇 가지 의문이 듭니다.
첫째, 왜 함수명이 언더스코어(_)로 시작할까요? 이 함수는 Open API와 우리 프로그램을 연결하는 역할을 합니다. 따라서 API를 직접적으로 사용하기 전에 호출되어야 하기 때문에 Kiwoom 클래스가 생성되는 시점, 즉 초기화될 때 자동으로 한 번만 호출하면 이후로는 프로그램이 종료될 때까지 다시 호출할 필요가 없습니다. 이렇게 클래스 생성자에서 자동으로 호출되는 경우처럼 클래스 외부에서 명시적으로 호출해서 사용하지 않는 함수를 클래스 내부에서만 사용한다는 의미로 언더스코어로 시작하는 이름을 짓습니다(이 규칙은 필자가 임의로 정한 것이 아니라 파이썬 코딩 가이드에 나오는 규칙이지만 반드시 따르지 않아도 됩니다).