Форум сайта python.su
EBFEВсе вместе, чуть поднять производительность(приятный бонус), защитить код(основная задача), позволить модулю работать на всех актуальных версиях интерпретатора(основная)
Так вам что именно нужно?
Скорость выполнения (здесь PyPy рулит, ограничения: 2.7, gevent не поддерживается итд), “защита” кода (возможно хватит и обфускатора) или защита от взлома (в этом смысле С++ немного “лучьше”, хотя все упирается в концепцию - что нибудь вроде
“if registered(username, key) == True” ломается на раз, что в Pythone, что в Си) ?
Офлайн
У cython есть сложности с нетривиальными генераторами, если что. И отсутствуют classmethod/staticmethod
Это были самые раздражающие отличия.
Отредактировано Андрей Светлов (Авг. 20, 2012 16:50:33)
Офлайн
Андрей СветловО classmethod/staticmethod услышал здесь впервые, так что не страшно(похоже мало кто их использует). А какие генераторы считаются нетривиальными? Определенные пользователем?
У cpython есть сложности с нетривиальными генераторами, если что.
И отсутствуют 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, насколько помню, волна не желала бежать вообще.
Офлайн
an1s1
О classmethod/staticmethod услышал здесь впервые, так что не страшно(похоже мало кто их использует).
Офлайн
Shedskin такое ощущение, что может скомпилировать только хэлло ворд, очень много ограничений.
Офлайн
cutwaterКонечно, но сколько видел кода, нигде они не использовались(может не туда смотрел).an1s1
О classmethod/staticmethod услышал здесь впервые, так что не страшно(похоже мало кто их использует).
Отнюдь. То что Вы об этих декораторах слышите впервые никоим образом не значит что их мало кто использует.
Офлайн
Это два самых используемых декоратора в питоне, так что спорить тут бессмысленно.
Поиск по гитхабу выдаёт ~140к и ~750к вхождений для staticmethod и classmethod соответственно.
Офлайн
С другой стороны, и без них все работает
Офлайн
odnochlen
С другой стороны, и без них все работает
Офлайн