Читать «Язык программирования Python» онлайн - страница 17

Роман Авриевич Сузи

os.system("dir")

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