반응형
python -- 가변인자 이용하여 callback 사용하기
환경: python 3.6, windows 10 64bit
-- 여러 함수들을 시간대별로 순서대로 실행시키고자 할때 사용하자..
예 ; 증권사 api TR 함수들은 동시에 실행 시킬수 없고, TR 함수 실행시 증권사에서 제한하는 시간을 시켜서 순서대로 실행해야한다.
--> 하지만, TR 함수 실행시작은 사용자가 맘대로 실행시킴.
--> 이러한 충돌을 해결하기위해... TR 함수들을 한 곳에서 순서대로 실행시키자
def fx1():
print("fx1...")
def fx2(a):
print("fx2..", a)
def fx3(a, b):
print("fx3...", a, b)
def fx4(a=3, b=4):
print("fx4..", a, b)
def fx5(a, b, c=11, d=33):
print("fx5..", a, b, c, d)
def fx6(a, b_list):
print("fx6..", a)
for x in b_list:
print(x)
ff2 = []
def add_callback(callback, *args, **kw):
# print(myfx, args, kw)
ff2.append((callback, args, kw))
def run_fx2(ff):
# print("ff2 = ", ff)
for callback, arg, kw in ff:
callback(*arg, **kw)
add_callback(fx1)
add_callback(fx4, 93)
add_callback(fx4, 93, b=777)
add_callback(fx5, 91, 92, c=93, d=94)
add_callback(fx6, 11, [100, 101, 102])
run_fx2(ff2)
< 실행결과 >
--
반응형
'python' 카테고리의 다른 글
hashlib -- TypeError: Unicode-objects must be encoded before hashing 해결 (0) | 2018.08.06 |
---|---|
flask -- 기존 db table 변경하기 (0) | 2018.07.29 |
python -- 윈도우즈에서 소리내기 ; 도레미 송 (0) | 2017.08.10 |
python -- win32com eventhandler 이름 규칙 (0) | 2017.05.31 |
PyCharm 2017 -- 나만의 환경 설정 (0) | 2017.04.24 |