Найти - Пользователи
Полная версия: вопрос о re.compile
Начало » Python для новичков » вопрос о re.compile
1
FooBar
доброго вам времени суток, у меня есть вопрос: когда я компилирую шаблон внутри функции, то пайтон его при каждом вызове будет компилировать занова? и чтобы этого избежать нужно вынести его в глобальное простарнство имен?
shiza
правильно мыслишь =)
ZZZ
Да, но в 99.9% случаев, лучше сделать так, как удобней, ибо потери в скорости будут минимальны.
Если нужна скорость, то пишите на Си, так как питон, это, в первую очередь, удобный и понятный язык и писать на нём стоит максимально оптимизируя код не для скорости, а для удобочитаемости.
shiza
я всегда в глобальное выношу. или в атрибуты класса =)
FooBar
спасибо всем ответившим, вопрос решен
ZAN
ZZZ
Если нужна скорость, то пишите на Си, так как питон, это, в первую очередь, удобный и понятный язык и писать на нём стоит максимально оптимизируя код не для скорости, а для удобочитаемости.
Движок регулярки в питоне практически полностью написана на сях, на питоне - только обертки функций в классы и кое-какие дополнительные проверки. Так что потори в скорости практически не будет в сравнении с сишной программой.
Если шаблон - статический, то можно запихнуть в keyword.
def function(line, regexp=re.compile('tralala')):
pass
Шаблон будет инициализирован один раз при инициализации функции. Хотя с точки зрения “Explicit is better than implicit” - так себе решение.
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