Найти - Пользователи
Полная версия: Python в Си
Начало » Python для экспертов » Python в Си
1 2 3
an1s1
EBFE
Так вам что именно нужно?
Скорость выполнения (здесь PyPy рулит, ограничения: 2.7, gevent не поддерживается итд), “защита” кода (возможно хватит и обфускатора) или защита от взлома (в этом смысле С++ немного “лучьше”, хотя все упирается в концепцию - что нибудь вроде
“if registered(username, key) == True” ломается на раз, что в Pythone, что в Си) ?
Все вместе, чуть поднять производительность(приятный бонус), защитить код(основная задача), позволить модулю работать на всех актуальных версиях интерпретатора(основная)
Андрей Светлов

У cython есть сложности с нетривиальными генераторами, если что. И отсутствуют classmethod/staticmethod

Это были самые раздражающие отличия.

an1s1
Андрей Светлов
У cpython есть сложности с нетривиальными генераторами, если что.
И отсутствуют classmethod/staticmethod

Это были самые раздражающие отличия.
О classmethod/staticmethod услышал здесь впервые, так что не страшно(похоже мало кто их использует). А какие генераторы считаются нетривиальными? Определенные пользователем?
Андрей Светлов

Я глубоко не разбирался. Заметил проблему на таком коде:

def waves(self, _hexes=None):
    """Yields waves starting from hexes one by one.

    Each wave is a list. You can exclude some hexes
    from yielded list and continue iterating on filtered list.
    """
    hexes = [self]
    if _hexes is not None:
        hexes.extend(_hexes)
    visited = set(hexes)
    lastwave = list(hexes)
    while lastwave:
        newwave = []
        for nc in lastwave:
            for nnc in nc.neighbours():
                if nnc not in visited:
                    visited.add(nnc)
                    newwave.append(nnc)
        yield newwave
        lastwave = newwave

Это запуск стандартного волнового алгоритма от точки, возвращает список-волну на каждом шаге. Из этой волны можно исключать нужные точки, чтобы от них не бежала следующая волна.

В cython, насколько помню, волна не желала бежать вообще.

cutwater
an1s1
О classmethod/staticmethod услышал здесь впервые, так что не страшно(похоже мало кто их использует).

Отнюдь. То что Вы об этих декораторах слышите впервые никоим образом не значит что их мало кто использует.
mrgloom
Shedskin такое ощущение, что может скомпилировать только хэлло ворд, очень много ограничений.
an1s1
cutwater
an1s1
О classmethod/staticmethod услышал здесь впервые, так что не страшно(похоже мало кто их использует).

Отнюдь. То что Вы об этих декораторах слышите впервые никоим образом не значит что их мало кто использует.
Конечно, но сколько видел кода, нигде они не использовались(может не туда смотрел).
fata1ex
Это два самых используемых декоратора в питоне, так что спорить тут бессмысленно.
Поиск по гитхабу выдаёт ~140к и ~750к вхождений для staticmethod и classmethod соответственно.
odnochlen
С другой стороны, и без них все работает
cutwater
odnochlen
С другой стороны, и без них все работает

С таким подходом можно все писать без ООП на питоне или даже на чистом си. Ведь все работает и без этих ваших сложностей.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB