Р. А. Сузи - Язык программирования Python стр 10.

Шрифт
Фон

Листинг

os.system(«dir»)

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

print argv[0], environ

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

Листинг

import mymodule

reload(mymodule)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Совет:

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

>>> help(len)

Help on builtin 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

<type 'object'>

>>> class MyObject(object):

pass

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

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

abs(x) Модуль числа x. Результат: |x|.

divmod(x, y) Частное и остаток от деления. Результат: (частное, остаток).

pow(x, y[, m]) Возведение x в степень y по модулю m. Результат: x**y % m.

round(n[, z]) Округление чисел до заданного знака после (или до) точки.

ord(s) Функция возвращает код (или Unicode) заданного ей символа в односимвольной строке.

chr(n) Возвращает строку с символом с заданным кодом.

len(s) Возвращает число элементов последовательности или отображения.

oct(n), hex(n) Функции возвращают строку с восьмеричным или шестнадцатеричным представлением целого числа n.

cmp(x, y) Сравнение двух значений. Результат: отрицательный, ноль или положительный, в зависимости от результата сравнения.

unichr(n) Возвращает односимвольную Unicodeстроку с символом с кодом n.

unicode(s, [, encoding[, errors]]) Создает Unicodeобъект, соответствующий строке s в заданной кодировке encoding. Ошибки кодирования обрабатываются в соответствии с errors, который может принимать значения: 'strict' (строгое преобразование), 'replace' (с заменой несуществующих символов) или 'ignore' (игнорировать несуществующие символы). По умолчанию: encoding='utf8', errors='strict'.

Следующий пример строит таблицу кодировки кириллических букв

в Unicode:

Листинг

print «Таблица Unicode (русские буквы)».center(18*4)

i = 0

for c in «АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ»\

«абвгдежзийклмнопрстуфхцчшщъыьэюя»:

u = unicode(c, 'koi8r')

print "%3i: %1s %s» % (ord(u), c, `u`),

i += 1

if i % 4 == 0:

print

Функции обработки данных

Эти функции подробнее будут рассмотрены в лекции по функциональному программированию. Пример с функциями range() и enumerate():

Листинг

>>> for i, c in enumerate(«ABC»):

print i, c

0 A

1 B

2 C

>>> print range(4, 20, 2)

[4, 6, 8, 10, 12, 14, 16, 18]

Функции определения свойств

Эти функции обеспечивают доступ к некоторым встроенным атрибутам объектов и другим свойствам. Следующий пример показывает некоторые из этих функций:

Листинг

>>> s = «abcde»

>>> s1 = «abcde»

>>> s2 = «ab» + «cde»

>>> print «hash:", hash(s), hash(s1), hash(s2)

hash: 133267714013326771401332677140

>>> print «id:", id(s), id(s1), id(s2)

id: 1076618592 1076618592 1076618656

Здесь, можно увидеть, что для одного и того же строкового литерала «abcde» получается один и тот же объект, тогда как для одинаковых по значению объектов вполне можно получить разные объекты.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке