Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 [ 54 ] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145

sequence) равно 1 , возвращается его (единственного элемента) значение, если общее количество элементов равно 0 (то есть не задан аргумент initializer и используется пустая последовательность), генерируется исключение TypeError.

reload( module)

Заново считывает и инициализирует уже импортированный модуль. Аргумент module должен быть объектом-модулем, представляющим ранее успешно импортированный модуль. Возвращает объект-модуль (тот же самый, что и module). Эта функция может быть полезна при одновременном редактировании и тестировании в интерактивном режиме (не покидая интерпретатора) модулей.

Если в исходном тексте модуля нет синтаксических ошибок, но они возникают во время его инициализации, первая инструкция import для этого модуля не создаст соответствующую ему локальную переменную, а лишь сохранит (частично инициализированный) объект-модуль в sys.modules. Для того, чтобы перезагрузить модуль, необходимо сначала повторно импортировать с помощью инструкции import (при этом создается локальная переменная, ссылающаяся на частично инициализированный объект-модуль) и лишь затем использовать функцию reload() .

При перезагрузке модуля старый словарь, представляющий глобальное пространство имен модуля сохраняется. Новые определения перезаписывают старые, так что это обычно не вызывает проблем. Если новая версия не определяет какое-либо имя, для него остается прежнее значение. Эта особенность может быть использована модулем, если он поддерживает глобальную таблицу или кэш объектов: с помощью инструкции try Вы можете определить наличие таблицы и, при желании, пропустить ее инициализацию.

Перезагрузка встроенных и динамически связываемых модулей в принципе допустима (кроме модулей sys , main и builtin ), однако не настолько полезна. Некоторые дополнительные модули, однако, не приспособлены к повторной инициализации, что может привести к всевозможным ошибкам.

Если Вы импортируете объекты из модуля, используя инструкцию from ... import ..., перезагрузка модуля не приведет к переопределению этих объектов - после перезагрузки необходимо повторно выполнить инструкцию from ... import ....

Если Вы определили экземпляры класса, перезагрузка модуля, в котором определен класс, не изменит определения методов для экземпляров - они будут продолжать использовать старые определения. То же самое верно и для производных классов.

repr( object )

Возвращает строку, содержащую представление объекта object. Тот же эффект Вы можете получить, заключив выражение object в обратные кавычки (object). По возможности функция repr() возвращает строку, пригодную для восстановления объекта с тем же значением с помощью функции eval() . См. также описание функции str() .

round( x [, n])

Возвращает вещественное число, полученное округлением x до n цифр после десятичной точки. По умолчанию n считается равным нулю. То есть возвращает



ближайшее к x число, кратное 10"n. Из двух одинаково близких чисел выбирается то, которое находится дальше от нуля (то есть round(0.5) дает 1.0 и round(-0.5) дает -1.0).

setattr( object, name, value)

Присваивает атрибуту с именем name (строка) объекта object значение value. name может быть именем уже существующего или нового атрибута. Например, вызов setattr(x, foobar, 123) эквивалентен инструкции x.foobar = 123.

slice( [start, ] stop [, step])

Возвращает объект среза (см. раздел 11.8.3). Если какой-либо необязательный аргумент опущен, используется None для обозначения значения по умолчанию.

str( object)

Возвращает строковое представление, наиболее пригодное для вывода. В отличие от repr() , функция str() даже не пытается создать строку, являющуюся правильным выражением языка Python. Точно такое представление используется для объектов при выводе их с помощью инструкции print.

tuple( sequence)

Возвращает кортеж, составленный из элементов последовательности sequence. Порядок следования элементов сохраняется. Если последовательность sequence уже является кортежем, он возвращается без изменений (нет смысла создавать его копию, так как кортежи являются неизменяемыми объектами) . Например, tuple(abc) возвращает (a, b, c),а tuple([1, 2, 3]) возвращает (1, 2, 3) .

type( object)

Возвращает тип объекта object. Возвращаемое значение является объектом типа (см. раздел 11.8.2). В стандартном модуле types определены имена для всех встроенных типов. Например:

>>> import types

>>> if type(x) == types.StringType:

... print "Объект x является строкой"

unichr( i)

Возвращает строку Unicode, состоящую из одного символа, код которого равен i. Например, unichr(97) возвращает строку ua. Аргумент i должен быть целым числом от 0 до 65535 включительно, если i выходит за пределы указанного диапазона, генерируется исключение ValueError. Обратная операция выполняется функцией ord() . См. также описание функции chr() .

unicode( string [, encoding [, errors]])

Преобразует строку string из кодировки encoding (по умолчанию utf-8) в строку Unicode и возвращает результат. Поведение при возникновении ошибок определяется значением аргумента errors:: strict (используется по умолчанию) означает, что при возникновении ошибки будет сгенерировано исключение



UnicodeError, ignore - недопустимые символы игнорируются (удаляются), replace - недопустимые символы заменяются универсальным символом замены ("REPLACEMENT CHARACTER", u\uFFFD).

vars( [object ])

Без аргументов возвращает словарь, соответствующий локальному пространству имен. Если в качестве аргумента передан объект, представляющий модуль, класс или экземпляр класса (или любой другой объект, имеющий атрибут dict ), возвращает словарь, соответствующий пространству имен объекта. Не следует вносить изменения в возвращаемый словарь: эффект на соответствующее пространство имен не определен5.

xrange( [start , ] stop [, step])

Эта функция работает аналогично функции range() , но возвращает объект xrange (см. раздел 11.2.4) вместо списка. Этот тип последовательности позволяет получать точно такие же значения, как и соответствующий список (полученный с помощью функции range() с такими же аргументами), на самом деле не храня их. Преимущества функции xrange() над функцией range() обычно минимальны и проявляются только на очень длинных рядах чисел.

zip(seql ...)

Возвращает список, каждый i -й элемент которого является кортежем, составленным из i-х элементов последовательностей seql, seqN в порядке их следования в списке аргументов. Требуется как минимум один аргумент, в противном случае, генерируется исключение TypeError. Длина возвращаемого списка равна длине самой короткой из последовательностей seql, seqN. Если все последовательности имеют одинаковую длину, функция zip ведет себя аналогично функции map с None в качестве первого аргумента. Функция доступна, начиная с версии 2.0.

5В текущих реализациях локальные переменные не могут быть изменены таким способом, а пространства имен объектов - могут. Ситуация может измениться в будущих версиях.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 [ 54 ] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145