Язык программирования Python (Сузи) - страница 19

>digits = re.compile("\d+")

>print argv[0], environ

Повторный импорт модуля происходит гораздо быстрее, так как модули кэшируются интерпретатором. Загруженный модуль можно загрузить еще раз (например, если модуль изменился на диске) с помощью функции >reload():

>import mymodule

>...

>reload(mymodule)

Однако в этом случае все объекты, являющиеся экземплярами классов из старого варианта модуля, не изменят своего поведения.

При работе с модулями есть и другие тонкости. Например, сам процесс импорта модуля можно переопределить. Подробнее об этом можно узнать в оригинальной документации.

Встроенные функции

В среде Python без дополнительных операций импорта доступно более сотни встроенных объектов, в основном, функций и исключений. Для удобства функции условно разделены по категориям:

1. Функции преобразования типов и классы: >coerce, >str, >repr, >int, >list, >tuple, >long, >float, >complex, >dict, >super, >file, >bool, >object

2. Числовые и строковые функции: >abs, >divmod, >ord, >pow, >len, >chr, >unichr, >hex, >oct, >cmp, >round, >unicode

3. Функции обработки данных: >apply, >map, >filter, >reduce, >zip, >range, >xrange, >max, >min, >iter, >enumerate, >sum

4. Функции определения свойств: >hash, >id, >callable, >issubclass, >isinstance, >type

5. Функции для доступа к внутренним структурам: >locals, >globals, >vars, >intern, >dir

6. Функции компиляции и исполнения: >eval, >execfile, >reload, >__import__, >compile

7. Функции ввода–вывода: >input, >raw_input, >open

8. Функции для работы с атрибутами: >getattr, >setattr, >delattr, >hasattr

9. Функции-«украшатели» методов классов: >staticmethod, >classmethod, >property

10. Прочие функции: >buffer, >slice

Совет:

Уточнить назначение функции, ее аргументов и результата можно в интерактивной сессии интерпретатора Python:

>>>> help(len)

>Help on built–in function len:

>len(...)

>len(object) -> integer

>Return the number of items of a sequence or mapping.

Или так:

>>>> print len.__doc__

>len(object) -> integer

>Return the number of items of a sequence or mapping.

Функции преобразования типов и классы

Функции и классы из этой категории служат для преобразования типов данных. В старых версиях Python для преобразования к нужному типу использовалась одноименная функция. В новых версиях Python роль таких функций играют имена встроенных классов (однако семантика не изменилась). Для понимания сути достаточно небольшого примера:

>>>> int(23.5)

>23

>>>> float('12.345')

>12.345000000000001

>>>> dict([('a', 2), ('b', 3)])

>{'a': 2, 'b': 3}

>>>> object

>

>>>> class MyObject(object):

>... pass

>...

Числовые и строковые функции

Функции работают с числовыми или строковыми аргументами. В следующей таблице даны описания этих функций.