>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()
. Правда, записывать что–либо в эти словари не рекомендуется.