Здравствуйте. Есть код который делает одно и тоже. Есть ли разница с точки зрения питона? Или можно использовать как угодно.
lib = ctypes.CDLL(path)
def WrapFunction(lib, funcname, restype, argtypes):
func = lib.__getattr__(funcname)
func.restype = restype
func.argtypes = argtypes
return func
# первый вариант
CTestFunc = WrapFunction(lib,'TestFunc',None,[c_int,c_int,POINTER(ctypes.c_char)])
def TestFunc(int_width, int_height, str_title):
return CTestFunc(int_width, int_height, str_title.encode('utf-8'))
# или такой вариант (мне он больше нравится).
def TestFunc(int_width, int_height, str_title):
TestFunc = WrapFunction(lib,'TestFunc',None,[c_int,c_int,POINTER(ctypes.c_char)])
return TestFunc(int_width, int_height, str_title.encode('utf-8'))
# Знаю про PEP-8, но мне для обратной совместимости так удобнее. Называть функции.
# Подскажите пожалуйста есть ли разница? Для производительности, около 200 таких враперов.