Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 3, 2016 10:50:05

osipbananov
Зарегистрирован: 2016-03-31
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

модуль re

Здравствуйте, подскажите пожалуйста, обязательно ли импортировать модуль re, при использовании регулярных выражений(нужно ли писать: import re). У меня на компьютере установлен ipython notebook, там при написании:

string = "abc a bCd bC AbC BC BCD bcd ABC"
spisok = re.findall(r'\w+', string)
print(spisok)
выводит все нормально:
['abc', 'a', 'bCd', 'bC', 'AbC', 'BC', 'BCD', 'bcd', 'ABC']
или обязательно нужно писать так:
import re
string = "abc a bCd bC AbC BC BCD bcd ABC"
spisok = re.findall(r'\w+', string)
print(spisok)
Кто знает, подскажите в чем разница обоих вариантов, а то и так и так работает. Спасибо

Офлайн

#2 Апрель 3, 2016 12:15:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

модуль re

Для обычного питона будет так:

string = "abc a bCd bC AbC BC BCD bcd ABC"
spisok = re.findall(r'\w+', string)
print(spisok)
Traceback (most recent call last):
  File "aa.py", line 2, in <module>
    spisok = re.findall(r'\w+', string)
NameError: name 're' is not defined



Офлайн

#3 Апрель 3, 2016 13:24:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

модуль re

Да и в ipython notebook

string = "abc a bCd bC AbC BC BCD bcd ABC"

spisok = re.findall(r'\w+', string)

print(spisok)



---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-b2b44debb7be> in <module>()
1 string = "abc a bCd bC AbC BC BCD bcd ABC"
----> 2 spisok = re.findall(r'\w+', string)
3 print(spisok)

NameError: name 're' is not defined



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version