@Refiru

Есть разница какой подход использовать, с точки зрения Python?

Здравствуйте. Есть код который делает одно и тоже. Есть ли разница с точки зрения питона? Или можно использовать как угодно.
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 таких враперов.
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
Ternick
@Ternick
1) Питону глубоко без разницы какой код исполнять и ему так же все равно на оптимизацию, об этом придётся думать именно вам :)
2) Можно произвести замеры скорости исполнения кода используя библиотеку timeit.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы