В среде 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
...
Числовые и строковые функции
Функции работают с числовыми или строковыми аргументами. В следующей таблице даны описания этих функций.
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='utf–8', errors='strict'. |
Следующий пример строит таблицу кодировки кириллических букв в Unicode:
print "Таблица Unicode (русские буквы)".center(18*4)
i = 0
for c in "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"\
"абвгдежзийклмнопрстуфхцчшщъыьэюя":
u = unicode(c, 'koi8–r')
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
Читать дальше
Конец ознакомительного отрывка
Купить книгу