Встроенные функции.



Эти функции являются наиболее употребительными в программистской практике, поэтому просто необходимо рассмотреть их всех.



Название функции

Описание функции

abs(x)

Возвращает абсолютное значение числа, т.е модуль данного числа

buffer(object,[offset, [size]])

Создаёт на основе объекта object буфер, начиная с позиции offset(или с начала объекта), размером size(или до конца объекта). Функция применима только к тем объектам, по которым возможно создание буфера – строк, массивов, других буферов. Функция возвращает указатель на результирующий буфер.

callable(object)

Возвращает true если объект может быть вызван (функция или класс)

сhr(i)

Возвращает строку из одного символа, который соответствует числовому значению i и находится в промежутке от 0 до 255, например, chr(67) вернёт символ 'a'. Функция chr(i) противоположна ord(i)

cmp(x,y)

Сравнивает x и y, возвращает положительное значение, когда x>y, отрицательное, когда x<y и ноль при x=y

сoerce(x,y)

Составляет из двух числовых значений x и y константный список, приводя оба числа к общему виду, используя приведение типов.

compile(??)

??

complex(real[,imag])

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

dict(dictionary_description)

Создаёт тип данных словарь из переданной последовательности, если ничего не передано – создаётся пустой словарь, например:

dict({1: 2, 2: 3})

dict({1: 2, 2: 3}.items())

dict({1: 2, 2: 3}.iteritems())

dict(zip((1, 2), (2, 3)))

dict([[2, 3], [1, 2]])

dict([(i-1, i) for i in (2, 3)])

dir([object])

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

>>> import sys

>>> dir()

['sys']

>>> dir(sys)

['argv', 'exit', 'modules', 'path', 'stderr', 'stdin', 'stdout']

divmod(a,b)

Выполняет деление а на b и возвращает паручисел: частное и остаток, если числа целые. Для дробных чисел возвращается частное округленное до ближайшего целого, не превосходящего данное, и остаток от округления, таким образом q * b + a % b очень близко к числу а.

eval(expression[,globals[,locals]])

Выполняет выражение expression с помощью интерпретатора Питона, т.е выражение расценивается как кусок кода Питона, при этом можно передавать словари содержащие глобальные и локальные переменные. По умолчанию можно воспользоваться функциями globals() и locals() возвращающими текущие глобальные и локальные переменные соответственно, например:

>>> x = 1

>>> print eval('x+1')

2

Функция также может выполнять компилированный с помощью compile код. Функция eval возвращает значение, являющееся результатом выполнения кода.

execfile(file[, globals[, locals]])

Функция работает идентично функции eval, за тем исключением, что выполняет не строку кода, а целый файл, в остальном см описание функции eval.

file(filename[, mode, bufsize])

Функция открывает файл filename в режиме mode и использует для буферизированного ввода/вывода буфер размером в bufsize. Доступные режимы – r, w(уничт. содержимое), a, r+, w+(уничт. содержимое), a+. Подробнее см. в главе файловый ввод/вывод

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

filter(function, list)

Создаёт список только из тех элементов, для которых функция пользователя function возвращает истину.

float(x)

Конвертирует строку x в число с плавающей точкой. Функция может возвращать бесконечность(NaN), когда строка слишком велика. При преобразовании строка может содержать число как в научном так и в фиксированном формате. Если во входной строке встречается неверный символ, то преобразование прекращается и возвращается то значение, которое было правильным.

globals()

Возвращает словарь глобальных объектов.

hash(object)

Возвращает хеш для объекта(если это возможно). Хеш используется для быстрого поиска в словарях, так как позволяет быстро сравнивать ключи. Хеш состоит только из целых чисел.

help([object])

Вызывает встроенную систему документации Питона. Если аргумент строка, то вызывается справка по модулю, функции, файлу, методу, ключевому слову, раздел помощи, в зависимости от переданной строки. Если аргумент – объект, то вызывается его справка.

hex(x)

Конвертирует целое число в строку из шестнадцатицентричных цифр. Будьте осторожнее при переводе отрицательных чисел, так как сложно угадать, как такие строки будут интерпретированы на других машинах, с иной длиной слова. Например, -1 на 32-х разрядной машине в шестандцатицентричной форме равно 0xffffffff, а на 16-и разрядной системе такая строка вовсе не равна -1.

id(object)

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

input([prompt])

Осуществляет ввод с клавиатуры строки кода Питона, т.е эквивалентна eval(raw_input()). Функция не защищена от ошибок пользователя и вызывает исключение SyntaxError при ошибке синтаксиса. Значение prompt используется в качестве подсказки. В общем функция используется для быстроты ввода кода Питона. В других случаях лучше использовать raw_input().

int(x[, radix])

Преобразует строку или число в целое. Если аргумент строка, то она преобразуется в целое. Если указывается параметр radix, то строка расценивается как число в указанной системе исчисления [2-36]. Если radix 0 то система исчисления определяется исходя из формата строки. При передаче функции числа с точкой, его дробная часть отсекается, а параметр radix игнорируется, т.е возвращается целая часть числа.

isinstance(object, classinfo)

Возвращает истину, если object является экземпляром класса (или класса, наследующего данному) или типа classinfo. Если classinfo не является объектом или типом, то возбуждается исключение TypeError.

issubclass(class1, class2)

Возвращает истину, если class1 наследует class2. При этом нет разницы является ли наследование прямым или косвенным через другие классы (в любом из случаев наследования возвращается истина).

len(s)

Возвращает длину (количество элементов) для аргумента s. S может быть последовательностью любого типа или словарём.

list([sequence])

Возвращает список с элементами входящими в последовательность sequence, т.е осуществляет преобразование последовательности в список. Если функции передан список, то она возвращает его копию.

locals()

Возвращает словарь, состоящий из локальных объектов и переменных. Изменять этот словарь нельзя.

long(x[, radix])

Преобразует строку или число в длинное целое. Если аргумент строка, то она преобразуется в целое. Если указывается параметр radix, то строка расценивается как число в указанной системе исчисления [2-36]. Если radix 0 то система исчисления определяется исходя из формата строки. При передаче функции числа с точкой, его дробная часть отсекается, а параметр radix игнорируется, т.е возвращается целая часть числа.

map(function, list, ...)

Возвращает список, являющийся

результатом работы функции для каждого элемента списка.

В функцию map можт быть передано несколько

списков, необходимо только соблюдать соответствующее количество

параметров в пользовательской функции.

max(s[, args...])

Если передан один параметр s и он является последовательностью, то возвращается максимальный элемент последовательности, если передано несколько параметров, то возвращается наибольшее из них.

min(s[, args...])

Если передан один параметр s и он является последовательностью, то возвращается минимальный элемент последовательности, если передано несколько параметров, то возвращается наименьшее из них.

oct(x)

Конвертирует целое число в строку из восьмеричных цифр. Будьте осторожнее при переводе отрицательных чисел, так как сложно угадать, как такие строки будут интерпретированы на других машинах, с иной длиной слова. Например, -1 на 32-х разрядной машине в восьмеричной форме равно 037777777777, а на 16-и разрядной системе такая строка вовсе не равна -1.

open(filename[, mode[, bufsize]])

Аналогично file(), но работает на всех версиях Питона.

ord(c)

Возвращает числовое значение строки из одного символа согласно таблице ASCII или символа unicode: ord('a') возвратит 97, ord(u'u2020') – 8224.

pow(x, y[, z])

Возвращает x возведённый в степень y , если присутствует число z, то возвращается значение pow(x, y) % z. Возвращаемое значение имеет тот же тип, что и x и y, но если y отрицательное, то результат будет с точкой 10**-2 = 0.01

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

Возвращает арифметическую прогрессию от start до stop с шагом step . По умолчанию start равно 0, а step = 1, нельзя задавать step равный нулю, это вызовет исключение ValueError. Примеры использования:

>>> range(10)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> range(1, 11)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> range(0, 30, 5)

[0, 5, 10, 15, 20, 25]

>>> range(0, 10, 3)

[0, 3, 6, 9]

>>> range(0, -10, -1)

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> range(0)

[]

>>> range(1, 0)

[]

raw_input([prompt])

Вводит с клавиатуры строку до символа перевода строки. Перед вводом печатает подсказку prompt. Если при вводе встречается символ конца файла EOF, то возбуждается исключение EOFError.

reduce(function, sequence[, initializer])

Возвращает единственное значение, являющееся выполнением пользовательской функции над первыми двумя элементами списка, затем с результатом выполнения функции и следующим элементом списка, например программа считает сумму всех чисел от 1 до 10:



>>> def add(x,y): return x+y

...

>>> reduce(add, range(1, 11))



55



Если в списке только один элемент, возвращается его значение, если список пустой, возникает исключительная ситуация. Если вы хотите, чтобы в случае пустого списка возвращалось какое-либо значение по умолчанию, то передайте его в качестве третьего аргумента функции reduce.

repr(object)

Возвращает строку, содержащую представление object для печати. Основная задача функции – формирование строки для использования в функции eval().

round(x[, n])

Возвращает округлённое значение x. Округление выполняется по математическим правилам(round(0.5) = 1.0, а round(-0.5) = -1.0). Если указано число n то округление ведется до n десятичных знаков. По умолчанию n=0.

str(object)

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

tuple([sequence])

Возвращает константный список с элементами входящими в последовательность sequence, т.е осуществляет преобразование последовательности в константный список. Если функции передан константный список, то она возвращает его без изменений.

type(object)

Возвращает тип объекта. Все встроенные типы определены в модуле types:

>>> import types

>>> if type(x) == types.StringType: print "Это строка"

unichr(i)

Возвращает строку из одного символа, который соответствует числовому значению i и находится в промежутке от 0 до 65535, например, unichr(97) вернёт символ u'a'. Функция unichr(i) противоположна ord(ui)

vars([object])

Возвращает словарь из всех объектов оbject. По умолчанию используется текущая локальная область действия. Для модуля возвращается значение внутренней переменной __dict__. Словарь, возвращаемый данной функцией не должен модифицироваться.