>>> 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
...
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: — 1332677140–1332677140–1332677140
>>> print "id:", id(s), id(s1), id(s2)
id: 1076618592 1076618592 1076618656
Здесь, можно увидеть, что для одного и того же строкового литерала "abcde"
получается один и тот же объект, тогда как для одинаковых по значению объектов вполне можно получить разные объекты.
Функции для доступа к внутренним структурам
В современной реализации языка Python глобальные и локальные переменные доступны в виде словаря благодаря функциям globals()
и locals()
. Правда, записывать что–либо в эти словари не рекомендуется.
Функция vars()
возвращает таблицу локальных имен некоторого объекта (если параметр не задан, она возвращает то же, что и locals()
). Обычно используется в качестве словаря для операции форматирования:
a = 1
b = 2
c = 3