@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.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 16:03
2500 руб./за проект
30 апр. 2024, в 15:24
3000 руб./за проект
30 апр. 2024, в 15:11
500 руб./в час