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

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

>>> 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='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" получается один и тот же объект, тогда как для одинаковых по значению объектов вполне можно получить разные объекты.