Главная / Интернет-технологии / Язык программирования Python

Язык программирования Python - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Изучается язык программирования Python, его основные библиотеки и некоторые приложения.
Смотрите также:
Какие характеристики можно отнести к языку программирования Python?
(1) интерпретируемый
(2) с динамической типизацией
(3) использующий препроцессор для макроподстановок
(4) для быстрой разработки приложений
Какое значение threadsafety соответствует ситуации, когда потоки могут одновременно использовать как DB-API 2.0 совместимый модуль, так и соединения, получаемые на основе этого модуля
(1) 0
(2) 1
(3) 2
(4) 3
Как можно узнать число активных на данный момент потоков?
(1) threading.enumerate()
(2) threading.activeCount()
(3) len(threading.enumerate())
(4) threading.currentThreads()
Какой класс Tkinter соответствует виджету для поля ввода?
(1) Label
(2) Text
(3) Frame
(4) Entry
Какие функции выполняет SWIG?
(1) создает интерфейсные файлы
(2) интерпретирует заголовочные файлы C/C++
(3) интерпретирует интерфейсные файлы собственного формата
(4) компилирует и компонует модуль расширения для Python
Какой из операторов соответствует следующему псевдокоду: 1 0 LOAD_FAST 0 (x) 3 PRINT_ITEM 4 LOAD_FAST 1 (y) 7 PRINT_ITEM 8 PRINT_NEWLINE 9 LOAD_CONST 0 (None) 12 RETURN_VALUE
(1) def f(x, y): print [x, y]
(2) def f(x, y): print x, y,
(3) def f(x, y): print (x, y)
(4) def f(x, y): print x, y
Какие виды модулей есть в Python?
(1) модули и пакеты
(2) обычные модули (написанные на Python) и модули расширения
(3) стандартные и нестандартные
(4) встроенные и внешние
Какие из перечисленных языков программирования поддерживают функциональное программирование?
(1) LISP
(2) OCAML
(3) Pascal
(4) Visual Basic
Что представляет собой объектно-ориентированная программа с точки зрения теории ООП?
(1) набор инструкций для построения объектов
(2) набор объектов, которые посылают друг другу сообщения
(3) декларации типов объектов
(4) декларации классов объектов
Чему будет равно значение следующего выражения: shape(array([[1, 2], [3, 4], [5, 6]]))
(1) (2, 3)
(2) (3, 2)
(3) (3,)
(4) (6,)
Какие кодировки исходного текста программы поддерживает интерпретатор Python?
(1) ASCII
(2) ASCII, Unicode
(3) ASCII, Latin-1, UTF-8
(4) большинство кодировок, распространенных сегодня
В модуле csv для чтения и записи в CSV-файл используются:
(1) функции для чтения (записи)
(2) методы объекта для записи
(3) итераторы по строкам в файле (для чтения)
(4) интерфейс файлового объекта
Как передаются CGI-сценарию данные из формы методом POST?
(1) через стандартный ввод
(2) через переменные окружения
(3) через аргументы командной строки
(4) через файл
К какому уровню модели взаимодействия открытых систем относится протокол IP?
(1) физическому
(2) канальному
(3) сетевому
(4) транспортному
Какие парадигмы и стили программирования поддерживает Python?
(1) логистическое программирование
(2) структурный стиль
(3) модульное программирование
(4) императивное программирование
Какие типы должны быть определены модулем, совместимым с DB API 2.0?
(1) строка и символ (STRING)
(2) число (NUMBER)
(3) множество (SET)
(4) дата и время (DATETIME)
Может ли возникнуть deadlock в следующей программе: import threading res_A = threading.Lock() res_B = threading.Lock() def proc1(): res_A.acquire() res_B.acquire() # ... res_B.release() res_A.release() def proc2(): res_A.acquire() res_B.acquire() # ... res_B.release() res_A.release() p1 = threading.Thread(target=proc1, name="t1") p2 = threading.Thread(target=proc2, name="t2") p1.start() p2.start() p1.join() p2.join()
(1) да, обязательно
(2) да, возможно
(3) нет, не возникнет
Какой шаблон можно использовать для события, при котором клавиша F5 нажимается при нажатой клавише Shift?
(1) <ButtonPress-Shift-F5>
(2) <Shift-F5>
(3) <Shift_L-F5> и <Shift_R-F5>
(4) <F15>
С помощью какого макроса удобнее всего определить строку документации при использовании C API?
(1) PyDoc_VAR
(2) PyDoc_STR
(3) PyDoc_STRVAR
(4) PyDoc
С помощью какого из приведенных ниже сравнений можно установить, что x и y — это один и тот же объект?
(1) x == y
(2) id(x) == id(y)
(3) x is y
(4) hash(x) == hash(y)
С помощью какой функции можно организовать цикл с параметром (for)?
(1) range()
(2) xrange()
(3) id()
(4) reload()
Какая встроенная функция Python лучше всего подходит для цепочечных вычислений (в частности, вычислений значения многочлена по схеме Горнера)?
(1) map()
(2) reduce()
(3) filter()
(4) chain()
Какие из перечисленных действий можно выполнить над любым объектом obj в языке Python 2.4?
(1) print id(obj)
(2) print obj
(3) hash(obj)
(4) not obj
Какие операции можно производить над строками a и b?
(1) a+b
(2) a*b
(3) a/b
(4) a in b
Какие модули входят в пакетemail?
(1) Header
(2) Parser
(3) Rfc822
(4) Generator
В какой переменной окружения передается метод запроса (GET, POST и т.п.)?
(1) REQUEST_METHOD
(2) REQUEST_URI
(3) HTTP_CONNECTION
(4) QUERY_STRING
Как с помощью модуля smtplib создать SMTP-соединение с сервером mail.server?
(1) c = smtplib.sendmail('mail.server', from_, to_, message)
(2) c = smtplib.connect('mail.server')
(3) c = smtplib.SMTP('mail.server')
(4) c = smtplib.SMTP(); c.connect('mail.server')
Что будет выведено следующей программой: a = 1 b = 2 a, b = b, a print a, b, a
(1) 2 1 2
(2) 1 2 1
(3) 1 1 1
(4) 11 11 21
Какие ошибки допущены в следующем фрагменте? import sqlite as db cu = db.connect(database="tvprogram").cursor() cu.execute("SELECT wdname FROM wd ORDER BY weekday;") for i, n in cu.fetchall(): print i, n
(1) результат db.connect() не сохранен
(2) ошибка в методе execute()
(3) ошибка в операторе for
(4) ошибок нет
Что делает следующая программа? import threading ready = threading.Event() def proc(): ready.wait() # ... print "Done!" for i in range(5): p = threading.Thread(target=proc) p.start() print "Prepare!" ready.set()
(1) программа запускает пять дополнительных потоков, печатающих "Done!" одновременно
(2) программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
(3) программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке
(4) программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()
Какой код порождает следующее расположение кнопок? files
(1) b1.pack(side=BOTTOM); b2.pack(side=BOTTOM)
(2) b1.pack(side=TOP); b2.pack(side=BOTTOM)
(3) b2.pack(side=BOTTOM); b1.pack(side=BOTTOM)
(4) b1.pack(side=BOTTOM); b2.pack(side=TOP)
Какие из следующих программ (модулей) лучше написать в виде модулей расширения на языке более низкого уровня, чем Python?
(1) программу для запуска других программ
(2) модуль матричных вычислений
(3) обработку файла лога с помощью регулярных выражений
(4) производительный HTTP-прокси сервер
Как средствами самого Python определить имена формальных аргументов функции func(), если известно, что функция написана на Python?
(1) func.func_globals
(2) func.func_locals
(3) inspect.getargspec(func)
(4) никак
Какие новые имена появятся в текущем модуле после выполнения следующего кода: import re from re import compile
(1) все имена из re (импорт compile был лишним)
(2) только имя compile
(3) только имена re и compile
(4) нельзя одновременно делать import и from-import
Начало определения функции f выглядит так: def f(a, b, c=None, d="0"): Какие из следующих вариантов вызова не приведут к ошибке на этапе присваивания фактических параметров формальным?
(1) f()
(2) f(1, 2)
(3) f(1, 2, 3, 4)
(4) f(1, 2, d=3, c=4)
(5) f(1, 2, d=3)
(6) f(1, d=3)
Имеется определение класса: class CL(object): def set_color(self, value): self.__color = value def del_color(self): del self.__color color = property(lambda self: self.__color, set_color, del_color, "Color property.") c = CL() Какие из следующих примеров содержат ошибки?
(1) c.color = "#ff00ff"; c.color = "#0000ff"
(2) del c.color
(3) print c.color
(4) has_color = hasattr(c, 'color')
Даны матрицы a и b. Как получить произведение матриц?
(1) a * b
(2) dot(a, b)
(3) vdot(a, b)
(4) product(a, b)
Какая строка получится в результате следующей операции: "=%s %3.1f %-1i=" % ("abc", 1.234, 4)
(1) =abc 1.2 4=
(2) =abc 1.2 -4=
(3) =abc 1.2 4 =
Что будет выведено в результате выполнения следующего кода: import email.Header print email.Header.decode_header("This is subject")
(1) [('This is subject', 'us-ascii')]
(2) [('This is subject', None)]
(3) [('This is subject', 'latin-1')]
(4) oшибка: кодировка не задана
С помощью какой функции можно подготовить текст для вывода в HTML?
(1) urllib.quote()
(2) urllib.quote_plus()
(3) cgi.escape()
(4) cgi.unescape()
Каким образом в модуле poplib представлен сеанс работы с POP3-сервером?
(1) набор функций
(2) экземпляр класса РОРЗ
(3) кортеж
(4) список кортежей
Что выведет следующая программа S = 0 for i in range(1, 10): if i % 2 == 0: S = S + i print S
(1) 0
(2) 10
(3) 20
(4) 30
Что передается методу executemany() объекта-курсора вторым параметром (дайте наиболее подходящий ответ)?
(1) последовательность наборов параметров
(2) словарь параметров
(3) список параметров
(4) кортеж параметров
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок) def f(x, y, z): global d1, d2 # 1 d1[(x, y)] = z # 2 d2[z] = (x, y) # 3 res = len(d2) # 4 return res
(1) 1: Z.acquire(), 3: Z.release()
(2) 1: Z.acquire(), 2: Z.release(), Z.acquire(), 3: Z.release()
(3) 1: Z.acquire(), 4: Z.release()
(4) замок не нужен
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены? from Tkinter import * from ScrolledText import ScrolledText def transl(): txt = t1.get("1.0", END).replace(e1.get(), e2.get()) t2.delete("1.0", END) t2.insert(END, txt) tk = Tk() f = Frame(tk) e1 = Entry(f, background="White", width=32) e1.pack(side=LEFT) b = Button(f, text=">>", command=transl) b.pack(side=LEFT) e2 = Entry(f, background="White", width=32) e2.pack(side=LEFT) f.grid(row=0, column=0, columnspan=2) t1 = ScrolledText(tk, background="White", width=40) t1.grid(row=1, column=0) t2 = ScrolledText(tk, background="White", width=40) t2.grid(row=1, column=1) tk.mainloop()
(1) функция transl() должна иметь аргумент
(2) виджет f должен занимать три ячейки, а не две (в нем кнопка и две полоски ввода)
(3) e1.get() и e2.get() должны быть e1.get("1.0", END) и e2.get("1.0", END) соответственно
(4) ошибок нет
В каком модуле нужно искать функции, помогающие тестировать программу?
(1) pdb
(2) profile
(3) unittest
(4) dictutils
К каким из приведенных ниже выражений можно применить функцию iter() для получения итератора?
(1) 1
(2) "1"
(3) xrange(10)
Укажите набор атрибутов, которые считаются общедоступными, для экземпляров следующего класса: class Example: def __init__(self, x, y): xy = x, y self.position = xy self._length = self.__len(x, y) def __len(self, x, y): return abs(x) + abs(y) def getlen(self): return self._length
(1) getlen, _length, position, __len, xy
(2) getlen, position
(3) getlen, _length, position
(4) position
С помощью какой универсальной функции (возможно, в сочетании с функцией sum()) можно посчитать количество отрицательных чисел в массиве?
(1) less()
(2) greater()
(3) count()
(4) sign()
Каким из приведенных ниже способов можно убрать из строки s пробельные символы слева и справа?
(1) string.strip(s)
(2) string.isspace(s)
(3) string.split(s)
(4) string.trim(s)
Какой метод больше подходит для обработки XML, если при этом происходит нелинейное изменение структуры XML-документа?
(1) SAX
(2) DOM
(3) текстовое редактирование текста XML-документа
(4) все методы одинаково подходят
Какой из перечисленных обработчиков mod_python выполняется раньше других?
(1) PythonHeaderParserHandler
(2) PythonAuthenHandler
(3) PythonHandler
(4) PythonPostReadRequestHandler
Следующая программа считает, сколько процентов HTML-кода web-страницы занимают встроенные сценарии. import urllib, re SITE = "http://mail.ru" doc = urllib.open(SITE).read() script_re = re.compile("(?i)(?m)(?s)(<script[^>]*>.+?</script>)") prc = sum([len(frag) for frag in script_re.findall(doc)]) / float(len(doc)) * 100 print "%.0f%%" % prc Какие ошибки допущены в этой программе?
(1) в четвертой строке вместо script_re.findall(doc) нужно использовать script_re.findall("\n".join(doc))
(2) в третьей строке должно быть urllib.urlopen, а не urllib.open
(3) в третьей строке не нужно использовать read()
(4) ошибок нет
Сколько элементов будет содержать список L (то есть, чему будет равно len(L)) после выполнения следующего кода: L = [] L.append([1,2,3]) L.insert(1, "abc") del L[0][0]
(1) произойдет ошибка
(2) 1
(3) 2
(4) 3
Какая ошибка допущена в следующем примере? import threading global to_eval cond = threading.Condition() def evaluate_something(x): return 2**int(x) def evaluator(name): global to_eval while True: cond.acquire() while not to_eval: cond.wait() v = to_eval.pop() cond.release() print name, ":", evaluate_something(v) to_eval = [] for n in range(3): ev = threading.Thread(target=evaluator, args=(str(n),)) ev.setDaemon(1) ev.start() while 1: inp = raw_input('Вводите: ') cond.acquire() to_eval.append(inp) cond.notifyAll() cond.release()
(1) cond.acquire() должен стоять перед to_eval.pop()
(2) cond.acquire() и cond.release() в цикле while 1 не требуется
(3) не обрабатываются исключения в потоках
(4) ошибок нет
Что делает функция os.unlink()?
(1) удаляет файл
(2) разрывает соединение
(3) удаляет файл или каталог со всем содержимым
Какие из перечисленных функций имеют побочные эффекты: import os global v v = 0 def A(x, y): return abs(x + y) B = lambda k, v: os.environ.setdefault(k, v) def C(x): global v v = v + 1 return v + x
(1) A, B, C
(2) только B и C
(3) только A и C
(4) только C
(5) никакие
Как называется отношение, которое имеют следующие два класса: class A(object): def __init__(self, x): self._mydata = B(x) class B(object): def __init__(self, x): self._mydata = x
(1) наследование. A получается наследованием B
(2) ассоциация. Экземпляр A содержит ссылки на экземпляры B
(3) метакласс. B является метаклассом для A
(4) метакласс. A является метаклассом для B
Имеется следующий массив: b = array([[1, 2], [0, 1]]) Какие из приведенных ниже операций получения среза вызовут ошибку?
(1) b[:,:]
(2) b[...]
(3) b[0,...]
(4) b[:,2]
С помощью какого регулярного выражения можно "прочитать" из строки дату в формате ГГГГ-ММ-ДД? (требуется не только сопоставить строку с регулярным выражением, но и получить данные: год, месяц, день)
(1) (\d{4})-(\d{2})-(\d{2})
(2) ([0-9]{4})(-([0-9]{2})){2}
(3) ([0-9]{4})(-[0-9]{2}){2}
(4) ([0-9]{4})-([0-9]{2})-([0-9]{2})
Какая ошибка допущена в следующем фрагменте программы, если node — объект, представляющий узел DOM? for (k, v) in node.attributes.items(): print k, v
(1) атрибут node.attributes не словарь, а список
(2) атрибут node.attributes — метод. Нужно записать как node.attributes()
(3) атрибут node.attributes может быть равен None, что вызовет ошибку в методе items()
(4) ошибки нет
Как используется строка Main Heading в следующем примере? <h1 tal:content="here/title">Main Heading</h1>
(1) в качестве имени переменной для макроподстановки
(2) в качестве заглушки, чтобы в средствах визуального форматирования было видно, что форматируется
(3) строка не используется
(4) содержит значение, на которое можно сослаться в другом месте документа
Как использовать XML-RPC сервер из Python-программы с помощью модуля xmlrpclib?
(1) создать объект-подключение вызовом ServerProxy; вызывать метод call этого объекта
(2) создать объект-подключение вызовом ServerProxy; вызывать метод этого объекта, соответствующий названию зарегистрированной на удаленном сервере функции
(3) вызвать функцию xmlrpclib.make_call, аргументами которой указать URL, имя вызываемой функции и аргументы
Какого типа значение получится в результате вычисления следующего выражения: (" ")
(1) str (строка)
(2) tuple (кортеж)
(3) это синтаксическая ошибка
(4) unicode (Unicode-строка)
Какими способами можно вывести символы строки "123" на стандартный вывод?
(1) print "123",
(2) import sys; sys.stdout.write("123")
(3) import sys; print >> sys.stdout, "123",
(4) import sys; sys.stdout("123")
Дана функция-генератор: def ggg(s): for i in range(0, len(s)-1, 2): yield s[i], s[i+1] Какие из перечисленных ниже способов ее использования для вывода значений правильные (в Python 2.4)?
(1) for k in ggg([1, 2, 3, 4]): print k
(2) print list(ggg("asdf"))
(3) print iter(ggg("asdf"))
(4) print ggg("asdf")
Какую роль играет xx в следующей Python-программе: def xx(func): class X(object): pass setattr(X, func.__name__, func) return X
(1) функция-фабрика
(2) функция-фабрика классов
(3) метакласс
(4) метод класса
Что можно узнать с помощью регулярного выражения, записанного в следующей строке: r'([01]+)\1\1'
(1) наличие в строке нулей и единиц
(2) наличие в строке нулей, единиц и обратной косой черты
(3) троекратное повторение одной и той же строки из нулей и единиц подряд
(4) троекратное повторение одной и той же строки из нулей и единиц, возможно, не подряд
Чему равен атрибут namespaceURI у элемента <foaf:nick> из следующего фрагмента XML <rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/"> ... <foaf:nick>donna</foaf:nick>
(1) rdf:RDF
(2) http://xmlns.com/foaf/0.1/
(3) nick
(4) foaf
Что будет получено в результате вычисления следующего выражения: (0 < [1, 4][1] < 3) + 1
(1) 0
(2) 1
(3) 2
(4) синтаксическая ошибка
Класс имеет метод __call__(). Какому классу он может "подражать" и как пользоваться этим методом? class A: #... def __call__(self, *params, **kws): #... a = A()
(1) функция. Пользоваться можно так: b = a(2,3,4)
(2) кодовый объект. Пользоваться можно так: eval(a)
(3) список. Пользоваться можно так: a[0] = 5
(4) кортеж. Пользоваться можно так: a = (1, 2, 3)
Каким образом можно ввести русские символы в программу на Python в Unicode?
(1) использовать объявление кодировки и русские буквы в Unicode-литералах u"..."
(2) использовать строчные литералы "..."
(3) использовать последовательности вида \u0000 в Unicode-литералах
(4) использовать метод encode()
Какие характеристики можно отнести к языку программирования Python?
(1) имеет эффективный компилятор в коды процессора
(2) использует раннее связывание
(3) объектно-ориентированный
(4) универсальный язык программирования
Какое значение threadsafety соответствует ситуации, когда DB-API 2.0 модуль не поддерживает потоки
(1) 0
(2) 1
(3) 2
(4) 3
Как можно получить список активных на данный момент потоков?
(1) threading.enumerate()
(2) threading.activeCount()
(3) threading.active()
(4) threading.currentThreads()
Какой класс Tkinter соответствует виджету для надписи?
(1) Label
(2) Text
(3) Frame
(4) Entry
Какие функции выполняет Pyrex?
(1) создает файлы на C/C++ из файлов на Pyrex
(2) на основе C/C++ кода создает файлы на Python
(3) интерпретирует Pyrex-файлы в код Python
(4) компилирует и компонует модуль расширения для Python
Какой из операторов соответствует следующему псевдокоду: 1 0 LOAD_FAST 0 (x) 3 LOAD_FAST 1 (y) 6 BUILD_TUPLE 2 9 PRINT_ITEM 10 PRINT_NEWLINE 11 LOAD_CONST 0 (None) 14 RETURN_VALUE
(1) def f(x, y): print [x, y]
(2) def f(x, y): print x, y,
(3) def f(x, y): print (x, y)
(4) def f(x, y): print x, y
Какими операторами можно импортировать модуль?
(1) import
(2) from-import
(3) exec
(4) imp
Какие признаки являются характерными для функциональных языков?
(1) возможность определения функции пользователем
(2) построение программы как композиции функций
(3) применение операторов
(4) возможность строить функции над функциями
Выберите правильные (с точки зрения теории ООП) утверждения:
(1) все объекты одного типа могут принимать одни и те же сообщения
(2) все объекты одного типа принадлежат одному классу
(3) каждый объект имеет тип
Чему будет равно значение следующего выражения: shape(array([[1, 2, 3], [4, 5, 6]], Float))
(1) (2, 3)
(2) (3, 2)
(3) (3,)
(4) (6,)
Как задается кодировка исходного текста Python-программы?
(1) с помощью ключа в командной строке
(2) с помощью механизма культурной среды
(3) с помощью специального комментария
(4) всегда применяется UTF-8 (в частном случае — ASCII)
В пакете email для чтения и записи поля сообщения используется синтаксис:
(1) доступа к атрибуту
(2) доступа к элементу словаря
(3) итератора
(4) именованного атрибута
Как передаются CGI-сценарию данные из формы методом GET?
(1) через стандартный ввод
(2) через переменные окружения
(3) через аргументы командной строки
(4) через файл
К какому уровню модели взаимодействия открытых систем относится протокол TCP?
(1) физическому
(2) канальному
(3) сетевому
(4) транспортному
Какие парадигмы и стили программирования поддерживает Python ?
(1) объектно-ориентированный
(2) модульный
(3) программирование в ограничениях
(4) функциональное программирование
Какому значению paramstyle соответствует следующий пример разметки: " " " INSERT INTO tv (tvdate, tvweekday, tvchannel) VALUES (%(begd)s, %(wd)s, %(channel)s);" " "
(1) 'format'
(2) 'pyformat'
(3) 'named'
(4) 'qmark'
Может ли возникнуть deadlock в следующей программе: import threading res_A = threading.Lock() res_B = threading.Lock() def proc1(): res_A.acquire() res_B.acquire() # ... res_B.release() res_A.release() def proc2(): res_B.acquire() res_A.acquire() # ... res_B.release() res_A.release() p1 = threading.Thread(target=proc1, name="t1") p2 = threading.Thread(target=proc2, name="t2") p1.start() p2.start() p1.join()
(1) да, обязательно
(2) да, возможно
(3) нет, не возникнет
Какой шаблон можно использовать для события, при котором клавиша F5 нажимается при нажатой правой кнопке мыши?
(1) <ButtonPress-F5>
(2) <B-F5>
(3) <B3-F5>
(4) <Button3-F5>
Какие функции C API обеспечивают разбор переданных аргументов?
(1) PyArg_ParseTuple
(2) PyArg_ParseTupleAndKeywords
(3) Py_BuildValue
(4) Py_Initialize
Какие из приведенных ниже сравнений обязательно дадут True, если объекты x и y имеют одинаковые значения?
(1) x == y
(2) id(x) == id(y)
(3) x is y
(4) hash(x) == hash(y)
Какие встроенные функции возвращают в качестве значения словарь?
(1) dir()
(2) locals()
(3) enumerate()
(4) vars()
Какие операторы и функции Python 2.4 подходят для поэлементной обработки элементов последовательности?
(1) функция map()
(2) списковое включение [x for x in s]
(3) функция apply()
(4) функция iter()
Какие из перечисленных действий можно выполнить над любым объектом obj в языке Python 2.4?
(1) print repr(obj)
(2) del obj
(3) isinstance(w, obj)
(4) len(obj)
Чему будет равно значение следующего выражения: size(ones((2, 5)))
(1) 10
(2) (2, 5)
(3) (5, 2)
(4) array([2, 5])
Какие строковые литералы записаны правильно?
(1) "123"
(2) "12\"
(3) r" " "12\" " " "
(4) " " "12\" " " "
Какие модули входят в пакет email?
(1) Mail
(2) Parser
(3) Message
(4) Generator
В какой переменной окружения передается имя пользователя (если применяется авторизация)?
(1) USER_NAME
(2) REMOTE_USER
(3) USER
(4) LOGIN
Какие ошибки (и погрешности) допущены в следующем примере? fromaddr = "tetja@abcde.ru" toaddr = "ktoto@edcba.ru" message = """Здравствуйте! Я ваша тетя. """ connect = SMTP('mail.abcde.ru') connect.sendmail(fromaddr, toaddr, message) connect.quit()
(1) не обрабатываются исключения
(2) в сообщении (message) не заданы поля
(3) отсутствует указание порта SMTP (25)
(4) ошибок и существенных погрешностей нет
Что будет выведено следующей программой: a = "A" b = "B" b = b + a print a + b
(1) сообщение об ошибке в третьей строке
(2) AВА
(3) ВА
(4) АВ
Какие ошибки допущены в следующем фрагменте? import sqlite as db c = db.connect(database="tvprogram") cu = c.cursor() cu.execute("SELECT wdname FROM wd ORDER BY weekday;") for i in cu.fetchall(): print i[0]
(1) ошибка в методе execute()
(2) ошибка в операторе for
(3) ошибка в операторе print
(4) ошибок нет
Что делает следующая программа? import threading, Queue item = Queue.Queue() def consumer(nm): while True: print item.get(), nm def producer(nm): while True: item.put(nm) for n in range(3): threading.Thread(target=consumer, args=("c"+str(n),)).start() threading.Thread(target=producer, args=("p"+str(n),)).start()
(1) программа ничего не делает или, в некоторых случаях, успевает напечатать несколько строк вида pN cM, после чего останавливается на попытке прочитать из пустой очереди
(2) программа беспрерывно печатает строки вида pN cM, где N — номер производителя, а M — номер потребителя
(3) программа беспрерывно печатает строки вида p0 c0, p1 c1 или p2 c2, где число после p — номер производителя, а число после c — номер потребителя
(4) программа содержит ошибку в цикле, где запускаются потоки
Какой код порождает следующее расположение кнопок? files
(1) b1.pack(side=BOTTOM); b2.pack(side=BOTTOM)
(2) b1.pack(side=TOP); b2.pack(side=BOTTOM)
(3) b2.pack(side=BOTTOM); b1.pack(side=BOTTOM)
(4) b1.pack(side=BOTTOM); b2.pack(side=TOP)
Какие из следующих программ (модулей) лучше написать в виде модулей расширения на языке более низкого уровня, чем Python?
(1) управление приложением с графическим интерфейсом пользователя
(2) преобразование файла с видеоданными из одного формата в другой
(3) программу для формирования квартального отчета небольшой организации
(4) генерацию примеров для тестирования, требующая частой переделки
Какое из следующих выражений дает файл и номер строки, из которой вызвана функция, содержащая выражение?
(1) traceback.extract_stack()[0][:2]
(2) traceback.extract_stack()[-1][:2]
(3) traceback.extract_stack()[-2][:2]
Какие новые имена появятся в текущем модуле после выполнения следующего кода: import sre as re from re import compile
(1) имена sre, re и compile
(2) только имена sre и compile
(3) только имена re и compile
(4) нельзя одновременно делать import и from-import
Начало определения функции f выглядит так: def f(a, b, **k): Какие из следующих вариантов вызова не приведут к ошибке на этапе присваивания фактических параметров формальным?
(1) f()
(2) f(1, 2)
(3) f(1, 2, 3, 4)
(4) f(1, 2, d=3, c=4)
(5) f(1, 2, d=3)
(6) f(1, d=3)
Имеется определение класса: class CL(object): def __init__(self, color): self.color = color def __str__(self): return self.color c = CL("#ff00ff") Какие из следующих примеров не содержат ошибки?
(1) c.color = "#ff00ff"; c.color = "#0000ff"
(2) del c.color
(3) print c.color
(4) print c
Как можно найти минимальный элемент матрицы a?
(1) min(a)
(2) minimum(a)
(3) minimum.reduce(minimum.reduce(a))
(4) a[argmin(a)]
Какая строка получится в результате следующей операции: "=%-3s %1.0f %-3i=" % ("a", 1.234, 4)
(1) = a 1 4=
(2) =a 1  4=
(3) =a 1 4  =
Что будет выведено в результате выполнения следующего кода: import email.Message m = email.Message.Message() m['To'] = '123@mail.ru' m.set_payload('123') print m
(1) строка From, поля To, Date:, Message-Id и 123 в теле письма
(2) строка From, поля To и 123. Тело пустое
(3) строка From, поле To и 123 в теле письма
(4) указанный выше код некорректен: m.set_payload() требует файлового объекта
Какой метод дает возможность получить все значения атрибута b, если он встречается в форме несколько раз?
(1) form = cgi.FieldStorage(); l = form.getlist("b")
(2) form = cgi.FieldStorage(); l = [a.value for a in form["b"]]
(3) form = cgi.FieldStorage(); l = form["b"].values
(4) form = cgi.FieldStorage(); form.items("b")
Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные? import poplib, email p = poplib.POP3('pop3.SERVER') p.getwelcome() p.user('USERNAME') p.pass_('USERPASSWORD') response, lst, octets = p.list() # # обработка lst # p.quit()
(1) метод list() имеет другой формат результата: просто список. Ошибки (response) в случае необходимости передаются возбуждением исключений
(2) учетные данные пользователя (логин и пароль) передаются сразу в методе user, а не отдельным методом pass_()
(3) делать quit() необязательно, он выполнится сам
(4) ошибок нет
Что выведет следующая программа: S = 0 for i in range(1, 10): if i % 2 == 0: S = S + i print S
(1) 10
(2) 12
(3) 14
(4) 20
Какое исключение должно быть возбуждено DB-API 2.0-совместимым модулем при сбое в соединении с базой данных?
(1) InterfaceError
(2) DataError
(3) OperationalError
(4) ProgrammingError
В каких точках программы необходимо выполнять acquire() и release() замка Z , чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок) def f(x, y, z): global d # 1 d[(x, y)] = z # 2 res = len(d) # 3 return res
(1) 1: Z.acquire(), 2: Z.release()
(2) 1: Z.acquire(), 2: Z.release(), Z.acquire(), 3: Z.release()
(3) 1: Z.acquire(), 3: Z.release()
(4) замок не нужен
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены? from Tkinter import * from ScrolledText import ScrolledText def transl(): txt = t1.get("1.0", END).replace(e1.get(), e2.get()) t2.delete("1.0", END) t2.insert(END, txt) tk = Tk() f = Frame(tk) e1 = Entry(f, background="White", width=32) e1.pack(side=LEFT) b = Button(f, text=">>", command=transl) b.pack(side=LEFT) e2 = Entry(f, background="White", width=32) e2.pack(side=LEFT) f.grid(row=0, column=0, columnspan=2) t1 = ScrolledText(tk, background="White", width=40) t1.grid(row=1, column=0) t2 = ScrolledText(tk, background="White", width=40) t2.grid(row=1, column=1)
(1) функция transl() должна иметь аргумент
(2) нет главного цикла обработки событий
(3) e1.get() и e2.get() должны быть e1.get("1.0", END) и e2.get("1.0", END) соответственно
(4) ошибок нет
В каких модулях можно взять функции для организации хранения на диске данных Python?
(1) shelve
(2) copy
(3) gdbm
(4) pickle
Какие из получаемых в следующем фрагменте кода объектов являются итераторами? def gen(N): for i in xrange(N): yield i lst = [1, 2, 3, 4] xr = xrange(12) g = gen(10) en = enumerate(lst)
(1) gen
(2) lst
(3) xr
(4) g
(5) en
Укажите набор атрибутов, которые считаются приватными, для экземпляров следующего класса: class Ex: def __init__(self, x, y): xy = x, y self.position = xy self._length = self.__len(x, y) def __len(self, x, y): return abs(x) + abs(y) def getlen(self): return self._length
(1) _length, __len
(2) _length, __len, position
(3) __len, xy, x, y, self
(4) xy, x, y, self, _length, position
Как можно отсортировать массив?
(1) a.sort()
(2) sort(a)
(3) a[argsort(a)]
(4) take(a, argsort(a))
Каким из приведенных ниже способов можно привести латинские символы строки s к нижнему регистру?
(1) s.replace('A-Z', 'a-z')
(2) s.tolower()
(3) s.islower()
(4) s.lower()
Можно ли в XML использовать собственные теги?
(1) можно
(2) можно, если они указаны DTD
(3) можно, если указаны пространства имен
(4) нельзя
Какой из перечисленных обработчиков mod_python выполняется раньше других?
(1) PythonFixupHandler
(2) PythonPostReadRequestHandler
(3) PythonAuthenHandler
(4) PythonHandler
Какие утверждения о следующей программе (вычисляющей время загрузки сайтов из списка) верные? import urllib, time SITES = ["http://ya.ru", "http://yandex.ru", "http://www.google.ru"] for site in SITES: t1 = time.time() u = urllib.urlopen(site) doc = u.read() total = time.time()-t1 clen = int(u.info()['Content-Length']) print site, len(u), clen, total
(1) u.info() может не содержать Content-Length: нужно предусмотреть try-except
(2) в последней строке вместо len(u) нужно использовать len(doc)
(3) метод для открытия URL не urllib.urlopen(), а urllib.open()
(4) серьезных замечаний и ошибок нет
Сколько элементов будет содержать список L (то есть, чему будет равно len(L)) после выполнения следующего кода: L = [] L.extend([1,2,3]) L.insert(1, "abc") del L[0][0]
(1) 2
(2) 3
(3) 4
(4) 4, но произойдет ошибка в 4-й строке
Какая ошибка допущена в следующем примере? import threading global to_eval cond = threading.Condition() def evaluate_something(x): return 2**int(x) def evaluator(name): global to_eval while True: cond.acquire() while not to_eval: cond.wait() v = to_eval.pop() cond.release() print name, ":", evaluate_something(v) to_eval = [] for n in range(3): ev = threading.Thread(target=evaluator, args=(str(n),)) ev.setDaemon(1) ev.start() while 1: inp = raw_input('Вводите: ') to_eval.append(inp) cond.notifyAll()
(1) cond.acquire() должен стоять перед to_eval.pop()
(2) в цикле while 1 требуются cond.acquire() и cond.release()
(3) не обрабатываются исключения в потоках
(4) ошибок нет
Что делает функция time.strftime()?
(1) преобразует строку в вещественное значение времени
(2) читает из строки дату и время в соответствии с заданным форматом
(3) форматирует значение даты и времени в соответствии с заданным форматом
(4) форматирует значение даты и времени в соответствии со стандартным ISO
Какие из перечисленных функций имеют побочные эффекты: lst = [] def A(l, x): return lst + [x] def B(l, x): lst.append(x) return lst def C(l, x): return lst.count(x)
(1) A, B, C
(2) только A и B
(3) только B и C
(4) только B
(5) никакие
Как называется отношение, которое имеют следующие два класса: class A(object): def __init__(self, x): self._mydata = x def m1(self): raise NotImplementedError class B(A): def __init__(self, x): super(B, self).__init__(x) def m1(self): return self._mydata
(1) наследование. A получается наследованием B
(2) наследование. B получается наследованием A
(3) агрегация. Экземпляры A содержат экземпляры класса B
(4) ассоциация. Экземпляры A содержат ссылки на экземпляры класса B
Имеется массив c, для которого shape(c) равна (2, 2, 2). Какая из приведенных ниже операций получения среза вызовет ошибку?
(1) c[...,1]
(2) c[1,2]
(3) c[:,-1]
(4) c[::2,1]
С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?
(1) 0{5}[^0]
(2) 00000([^0]|\Z)
(3) 0{1,5}[^0]
(4) ([^0]|\A)0{5}([^0]|\Z)
Какой фрагмент XML будет порожден в результате выполнения следующего кода: from xml.dom import minidom d = minidom.Document() e1 = d.createElement("A") e2 = d.createElement("B") e3 = d.createElement("C") e1.appendChild(e2) e2.appendChild(e3) print e1.toxml()
(1) <A><B><C/></B></A>
(2) <A><B><C></C></B></A>
(3) <C><B><A></A></B></C>
(4) <A><B/><C/></A>
Что такое tal в следующем фрагменте разметки? <h1 tal:content="here/title">Main Heading</h1>
(1) имя переменной для макроподстановки
(2) указание на принадлежность пространству имен языка TAL
(3) имя модуля, к которому относится макрос content
(4) указание на то, что далее следует значение, на которое можно сослаться в другом месте документа
Какой модуль стандартной библиотеки Python позволяет работать с WWW на более низком уровне?
(1) htmllib
(2) urlparse
(3) httplib
(4) urllib2
Какого типа значение получится в результате вычисления следующего выражения: (' ', )
(1) str (строка)
(2) tuple (кортеж)
(3) это синтаксическая ошибка
(4) unicode (Unicode-строка)
Что такое os.environ?
(1) функция для получения переменных окружения
(2) словарь переменных окружения
(3) последовательность переменных окружения
(4) системные константы Python
Какие варианты использования значений генераторного выражения gg имеют смысл? gg = ((s[i], s[i+1]) for i in range(0, len(s)-1, 2))
(1) print gg
(2) print list(gg)
(3) d = dict(gg)
(4) print len(gg)
Какую роль играет xx в Python-программе: class M(object): def xx(self): print "self:", self
(1) функция-фабрика
(2) статистический метод
(3) метод экземпляра класса
(4) метафункция
Какое множество строк описывает следующее регулярное выражение: to (?=be).{2}
(1) "to be"
(2) "to ", затем любые два символа
(3) "to ", затем, возможно, "be", а потом — любые два символа
(4) "to ", затем "be" два раза
Каким образом в документе: <A><B/><B1/>1<C>2</C></A> Можно получить текстовый элемент со значением 2? Предполагается, что он находится в DOM-узле d.
(1) d.getElementsByTagName('C')[0].firstChild
(2) d.childNodes[4]
(3) d.lastChild.lastChild.lastChild
(4) d.lastChild.lastChild.firstChild
Что будет получено в результате вычисления следующего выражения: 0 < [1, 4][1] < 3 or None
(1) 0
(2) 1
(3) None
(4) синтаксическая ошибка
Класс имеет методы __iter__() и next(). О чем это говорит и как пользоваться этим методом? class A: #... def __iter__(self): #... def next(self): #... a = A(1, 2, 3)
(1) последовательность. Пользоваться можно так: print a[2]
(2) нет особого названия. Пользоваться можно так: print a.next()
(3) итератор. Пользоваться можно так: for i in a: print i
(4) генератор. Пользоваться можно так: for i in a(): print i
На что влияет флаг re.MULTILINE в регулярном выражении?
(1) знаки ^ и $ соответствуют началу и концу любой строки в заданном тексте, а не только началу и концу текста
(2) знаки \A и \Z соответствуют началу и концу любой строки в заданном тексте, а не только началу и концу текста
(3) знак "." соответствует также и символу конца строки "\n"
(4) позволяет записывать регулярное выражение в несколько строк для улучшения его читаемости и записи комментариев
Какие характеристики можно отнести к языку программирования Python?
(1) для быстрой разработки приложений
(2) богатый и громоздкий синтаксис
(3) поощряет повторное использование кода
Какое значение threadsafety соответствует ситуации, когда потоки могут одновременно использовать DB-API 2.0 совместимый модуль, но не соединения, получаемые на основе этого модуля
(1) 0
(2) 1
(3) 2
(4) 3
Предположим, что поток A должен ждать завершения потока B. Как этого добиться?
(1) в потоке A: B.join()
(2) в потоке B: A.join()
(3) в потоке A: B.join(A)
(4) в потоке A: A.join(B)
Какой класс Tkinter соответствует виджету для вывода графических примитивов?
(1) Label
(2) Text
(3) Frame
(4) Canvas
Для чего нужен Pycaml?
(1) создает файлы модуля расширения Python на C/C++ из кода ocaml
(2) создает файлы модуля расширения Python на Ocaml
(3) позволяет встроить интерпретатор Python в программу на Ocaml
(4) позволяет использовать Python-библиотеки из Ocaml
Какой из операторов соответствует следующему псевдокоду: 1 0 LOAD_FAST 0 (x) 3 PRINT_ITEM 4 LOAD_FAST 1 (y) 7 PRINT_ITEM 8 LOAD_CONST 0 (None) 11 RETURN_VALUE
(1) def f(x, y): print [x, y]
(2) def f(x, y): print x, y,
(3) def f(x, y): print (x, y)
(4) def f(x, y): print x, y
В каких каталогах Python ищет модули?
(1) в каталогах, указанных в переменной окружения PATH
(2) в текущем каталоге
(3) в каталогах, указанных в списке sys.path
(4) в каталоге, в который установлены стандартные модули
Как определить функцию в Python?
(1) с помощью оператора def
(2) с помощью оператора import
(3) заданием списка строк исходного кода
(4) с помощью lambda-выражения
Разбиение программы на объекты называется:
(1) абстракцией
(2) декомпозицией
(3) инкапсуляцией
(4) полиморфизмом
Чему будет равно значение следующего выражения: shape(array([[1, 2, 3], [4, 5, 6]]).flat)
(1) (2, 3)
(2) (3, 2)
(3) (3,)
(4) (6,)
Какие кодировки используются для внутреннего представления символов строк?
(1) строки с восьмибитовыми символами
(2) Unicode (2- и 4-байтовые символы)
(3) строки с восьмибитовыми символами и Unicode (2- или 4-байтовые символы)
(4) строки с 16-битовыми символами и Unicode (2- и 4-байтовые символы)
В модуле xml.dom.minidom создать объект, представляющий XML-документ, можно:
(1) вызовом конструктора класса Document
(2) вызовом функции-фабрики Document()
(3) вызовом функции parseString()
(4) вызовом функции toxml()
Как получить в CGI-сценарии содержимое файла, переданного web-серверу через форму?
(1) прочитать со стандартного вывода
(2) из атрибута file объекта FieldStorage
(3) прочитать атрибут file объекта FieldStorage методами read() или readlines()
(4) прочитать из файла, имя которого задано в переменной окружения FILE_NAME
К какому уровню модели взаимодействия открытых систем относится протокол HTTP?
(1) сетевому
(2) транспортному
(3) сеансовому
(4) представления
(5) приложений
Какие парадигмы и стили программирования Python поддерживает?
(1) объектно-ориентированное программирование
(2) модульное
(3) программирование в ограничениях
(4) функциональное
Какому значению paramstyle соответствует следующий пример разметки: " " " INSERT INTO tv (tvdate, tvweekday, tvchannel) VALUES (%s, %s, %s);" " "
(1) 'format'
(2) 'pyformat'
(3) 'named'
(4) 'qmark'
Может ли возникнуть deadlock в следующей программе: import threading res_A = threading.Lock() res_B = threading.Lock() res_C = threading.Lock() def proc1(): res_A.acquire() res_B.acquire() res_C.acquire() # ... res_C.release() res_B.release() res_A.release() def proc2(): res_A.acquire() res_B.acquire() res_C.acquire() # ... res_C.release() res_B.release() res_A.release() p1 = threading.Thread(target=proc1, name="t1") p2 = threading.Thread(target=proc2, name="t2") p1.start() p2.start() p1.join() p2.join()
(1) да, обязательно
(2) да, возможно
(3) нет, не возникнет
Какой шаблон события можно использовать для перехвата нажатия клавиши пробел?
(1) < >
(2) <space>
(3) <KeyPress-space>
(4) <ButtonPress-space>
Какой макрос уменьшает счетчик ссылок объекта на единицу?
(1) PyMem_Free
(2) PyMem_Del
(3) Py_DECREF
Какие из приведенных ниже сравнений могут дать True, если объекты x и y имеют разные значения?
(1) x == y
(2) id(x) == id(y)
(3) x is y
(4) hash(x) == hash(y)
(5) ни один из перечисленных
Какие встроенные функции служат для создания объектов определенного типа (являются конструкторами классов или функциями-фабриками)?
(1) isinstance()
(2) dict()
(3) tuple()
(4) chr()
Какие функции Python 2.4 позволяют организовать обработку сразу двух и более последовательностей?
(1) функция zip()
(2) функция filter()
(3) функция map()
(4) функция itertools.repeat()
Как узнать, ссылаются ли два имени (a и b) на один и тот же объект?
(1) id(a) == id(b)
(2) a == b
(3) a is b
(4) hash(a) == hash(b)
Чему будет равно значение следующего выражения: shape(transpose(ones((2,3))))
(1) 6
(2) (2, 3)
(3) (3, 2)
(4) array([2, 3])
Какие строковые литералы записаны правильно
(1) "123" "
(2) ' "12" '
(3) r "\"
(4) "\" "
Как можно получить список полей сообщения msg?
(1) msg.keys()
(2) [fld for fld in msg]
(3) msg.get_params()
(4) msg.get_all()
Какая ошибка допущена в следующем коде CGI-сценария? import cgi f = cgi.FieldStorage() if f.has_key("expr"): a = f["expr"].value else: a = "0" e = eval(a) print e
(1) не выведены поля (хотя бы Content-Type)
(2) ввод пользователя не проверен на безопасность
(3) использованы несуществующие методы объектов FieldStorage
(4) ошибок нет
Какие ошибки (и погрешности) допущены в следующем примере? fromaddr = "tetja@abcde.ru" toaddr = "ktoto@edcba.ru" message = """Здравствуйте! Я ваша тетя. """ try: connect = SMTP('mail.abcde.ru') connect.sendmail(fromaddr, toaddr, message) connect.quit() except: print "Не удалось отправить сообщение"
(1) не обрабатываются исключения
(2) в сообщении (message) не заданы поля
(3) отсутствует указание порта SMTP (25)
(4) ошибок и существенных погрешностей нет
Что будет выведено следующей программой: A = B = 1 a = "A" * 5 b = "B" * 5 a = a + b * 5 print a, b
(1) 30 5
(2) AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB, BBBBB
(3) AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB BBBBB
(4) AAAAABBBBBBBBBBBBBBBBBBBBBBBBB BBBBB
Какие ошибки допущены в следующем фрагменте? import sqlite as db c = db.connect(database="tvprogram") c.execute("SELECT wdname FROM wd ORDER BY weekday;") for i in c.fetchall(): print i[0]
(1) ошибка в методе execute() (нет такого метода)
(2) ошибка в методе fetchall() (нет такого метода)
(3) ошибка в операторе print
(4) ошибок нет
Что делает следующая программа? import threading l = threading.RLock() def proc(nm, n=0): l.acquire() try: if n < 5: print "*", return proc(nm, n+1) else: return nm finally: l.release() for i in range(5): threading.Thread(target=proc, args=(str(i),)).start()
(1) беспрерывно печатает звездочки
(2) печатает 1 звездочку и зависает
(3) печатает 5 звездочек
(4) печатает 25 звездочек
(5) аварийно завершается при попытке выполнить l.acquire() во второй раз
Какой код порождает следующее расположение кнопок? files # 1 b1.grid(row=0, column=0, rowspan=2) b2.grid(row=0, column=1) b3.grid(row=1, column=1) # 2 b1.grid(row=0, column=0, columnspan=2) b2.grid(row=1, column=0) b3.grid(row=1, column=1) # 3 b1.grid(row=1, column=1, rowspan=2) b2.grid(row=1, column=0) b3.grid(row=0, column=0) # 4 b1.grid(row=1, column=1, columnspan=2) b2.grid(row=0, column=1) b3.grid(row=0, column=0)
(1) 1
(2) 2
(3) 3
(4) 4
Как начать интерактивную отладку функции f с двумя аргументами (условно: x и y)?
(1) import pdb; pdb.runcall("f(x, y)")
(2) import pdb; pdb.runcall(f(x, y))
(3) import pdb; pdb.runcall(f, (x, y))
(4) import pdb; pdb.runcall(f, x, y)
Из какого модуля будет работать функция split() в следующем примере: from re import * from string import * split('a', 'b')
(1) из re
(2) из string
(3) возникнет ошибка (конфликт имен)
(4) из re.string
Начало определения функции f выглядит так: def f(a, b, *p): Какие из следующих вариантов вызова не приведут к ошибке на этапе присваивания фактических параметров формальным?
(1) f()
(2) f(1, 2)
(3) f(1, 2, 3, 4)
(4) f(1, 2, d=3, c=4)
(5) f(1, 2, d=3)
(6) f(1, d=3)
Имеются следующие определения: def m1(self): print "m1" class M: def m2(self): print "m2" m = M() Какой из фрагментов кода содержит ошибки?
(1) m.m1 = m1; m.m1()
(2) M.m1 = m1; m.m1()
(3) m.m1 = m1; m.m1(m)
(4) m.m1 = m.m2; m.m1()
Даны матрицы a и b. Как получить поэлементное произведение матриц?
(1) a * b
(2) dot(a, b)
(3) vdot(a, b)
(4) product(a, b)
Что будет выведено в результате выполнения следующего кода: import email m = email.message_from_string( "From: Alice\n" "To: Bob\n" "To: Chloe\n" "\n" "Sh!") print m['to']
(1) всегда Bob
(2) всегда Chloe
(3) Bob или Chloe (в общем случае на порядок рассчитывать нельзя)
(4) указанный выше код вызовет ошибку, так как в сообщении два поля To
Как обработчик mod_python получает информацию о запросе?
(1) по аналогии с CGI-сценарием
(2) в виде специального объекта, представляющего запрос, переданного как параметр
(3) с помощью вызова функции
(4) из переменных окружения
Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные? import poplib, email p = poplib.POP3('pop3.SERVER') p.getwelcome() p.user('USERNAME') p.pass_('USERPASSWORD') lst = p.list() # # обработка lst # p.quit()
(1) метод list() имеет другой формат результата: ответ сервера, список строк и длина ответа. Правильно было бы написать: response, lst, octets = p.list()
(2) учетные данные пользователя (логин и пароль) передаются сразу в методе user, а не отдельным методом pass_()
(3) делать quit() необязательно, он выполнится сам
(4) ошибок нет
Что выведет следующая программа: S = 0 for i in range(1, 10, 2): if i % 2 == 0: S = S + i print S
(1) 0
(2) 1
(3) 10
(4) 20
Какое исключение должно быть возбуждено DB-API 2.0-совместимым модулем при ошибке в синтаксисе SQL-запроса?
(1) InterfaceError
(2) DataError
(3) OperationalError
(4) ProgrammingError
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок) def f(x): # 1 fc = open("file.txt", "w+") # 2 fc.write(x) # 3 fc.write("\n") # 4 fc.close() # 5
(1) 1: Z.acquire(), 5: Z.release()
(2) 1: Z.acquire(), 2: Z.release(), Z.acquire(), 5: Z.release()
(3) 2: Z.acquire(), 4: Z.release()
(4) замок не нужен
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены? from Tkinter import * from ScrolledText import ScrolledText def transl(): txt = t1.get("1.0", END).replace(e1.get(), e2.get()) t2.delete() t2.insert(END, txt) tk = Tk() f = Frame(tk) e1 = Entry(f, background="White", width=32) e1.pack(side=LEFT) b = Button(f, text=">>", command=transl) b.pack(side=LEFT) e2 = Entry(f, background="White", width=32) e2.pack(side=LEFT) f.grid(row=0, column=0, columnspan=2) t1 = ScrolledText(tk, background="White", width=40) t1.grid(row=1, column=0) t2 = ScrolledText(tk, background="White", width=40) t2.grid(row=1, column=1) tk.mainloop()
(1) функция transl() должна иметь аргумент
(2) виджет f должен занимать три ячейки, а не две (в нем кнопка и две полоски ввода)
(3) метод delete текста не содержит позиций удаляемого текста
(4) ошибок нет
С помощью каких модулей можно загрузить web-страницу?
(1) mimetools
(2) httplib
(3) cgi
(4) urllib
Сколько элементов будет содержать список, полученный в следующем списковом включении: [x for x in itertools.takewhile(lambda x: x < 23, itertools.count(10))]
(1) 0
(2) 10
(3) 13
(4) 23
Имеется определение класса: class Ex: def __init__(self, x, y): xy = x, y self.position = xy self._length = self.__len(x, y) def __len(self, x, y): return abs(x) + abs(y) def getlen(self): return self._length p = Ex(1, 2) Какой из вариантов его применения не допустим в программах на Python, которые пользуются экземплярами класса Ex?
(1) print p.position
(2) print p.getlen()
(3) print p.__len(1,2)
Как можно изменить знак у всех элементов матрицы (вектора) сразу?
(1) -1 * a
(2) -a
(3) negative(a)
(4) minus(a)
Как из строки "a b c d e" можно получить список ["a", "b", "c", "d", "e"]?
(1) "a b c d e".split()
(2) string.split("a b c d e")
(3) re.split(' ', "a b c d e")
Зачем в XML пространства имен?
(1) для маркировки тегов с целью более удобного поиска
(2) для сочетания в одном документе XML с различными DTD
(3) пространства имен позволяют указывать опции для приложения, обрабатывающего XML
(4) пространства имен позволяют включать однотипные XML-документы друг в друга
Что включает в себя Zope?
(1) собственный web-сервер
(2) поддержку CGI-сценариев
(3) поддержку сценариев DTML
(4) СУБД общего назначения
Какие утверждения о следующей программе (вычисляющей время загрузки сайтов из списка) верные? import urllib, time SITES = ["http://ya.ru", "http://yandex.ru", "http://www.google.ru"] for site in SITES: t1 = time.time() u = urllib.urlopen(site) doc = u.read() total = time.time()-t1 clen = int(u.info()['Content-Length']) print site, len(doc), clen, total
(1) u.info() может не содержать Content-Length: нужно предусмотреть try-except
(2) метод для открытия URL не urllib.urlopen(), а urllib.open()
(3) в последней строке вместо len(doc) нужно использовать len(u)
(4) серьезных замечаний и ошибок нет
Сколько элементов будет содержать словарь D (то есть, чему будет равно len(D)) после выполнения следующего кода: D = {} D[1], D[2], D[3] = "ABB" D[0], D[1] = "AB"
(1) 2
(2) 3
(3) 3 и произойдет ошибка в 3-й строке
(4) 4
Какая ошибка допущена в следующем примере? def pr(): import time time.sleep(1) print time.time() t = Timer(30.0, pr)
(1) в потоках (кроме главного) нельзя делать time.sleep()
(2) в потоках (кроме главного) нельзя делать print
(3) поток с таймером не запущен
(4) ошибок нет
Для чего нужны функции модуля gettext?
(1) для получения текста от пользователя
(2) для чтения строки со стандартного ввода
(3) для обеспечения интернационализации программы
(4) для показа строки ввода на экране и ввода текста от пользователя
Какая из перечисленных функций имеет побочные эффекты: lst = [] def A(lst, x): return lst + [x] def B(x): lst.append(x) return lst def C(lst, x): return lst.count(x)
(1) A
(2) B
(3) C
Как называется отношение, которое имеют между собой следующие два класса: class A(type): def __init__(cls, name, bases, dict): return super(A, cls).__init__(cls, name, bases, dict) B = A("B", (), {})
(1) ассоциация. A содержит ссылки на B
(2) наследование. B получается наследованием A
(3) метакласс. A является метаклассом для B
(4) метакласс. B является метаклассом для A
Имеется массив c, для которого shape(c) равна (2, 2). Какие из приведенных ниже операций получения среза вызовут ошибку?
(1) c[1:2:-1]
(2) c[1,2]
(3) c[:,:,-1]
(4) c[::-1,1]
С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?
(1) 0{5}[^0]
(2) 00000([^0]|\Z)
(3) 0{1,5}[^0]
(4) ([^0]|\A)0{5}([^0]|\Z)
Какой фрагмент XML будет порожден в результате выполнения следующего кода: from xml.dom import minidom e1 = minidom.Element("A") e2 = minidom.Element("B") e3 = minidom.Element("C") e1.appendChild(e2) e1.appendChild(e3) print e1.toxml()
(1) <A><B><C/></B></A>
(2) <A><B><C></A>
(3) <A><B><B/><C><C/></A>
(4) <A><B/><C/></A>
Что обозначает $el в примере, использующем TAL? <a href="DUMMY" tal:attributes="href string:/digit/$el" tal:content="el">SELECTION</a>
(1) имя переменной для макроподстановки в атрибут
(2) литеральное значение для подстановки в атрибут
(3) имя переменной для макроподстановки внутрь тега <a>
(4) литеральное значение для подстановки внутрь тега <a>
Какой модуль стандартной библиотеки Python обеспечивает большую, чем urllib, дополнительную высокоуровневую функциональность при работе с WWW?
(1) htmllib
(2) urlparse
(3) httplib
(4) urllib2
Какого типа значение получится в результате вычисления следующего выражения: ( , " ")
(1) str (строка)
(2) tuple (кортеж)
(3) это синтаксическая ошибка
(4) unicode (Unicode-строка)
Какими из перечисленных ниже способов можно получить случайный элемент последовательности lst с помощью модуля random?
(1) random.random(lst)
(2) random.choice(lst)
(3) random.shuffle(lst); lst[0]
(4) lst[random.randrange(len(lst))]
Имеется следующий генератор для слияния двух отсортированных последовательностей: def merge(a1, a2): a1 = list(a1) a2 = list(a2) while a1 or a2: if a1 and (not a2 or a1[0] < a2[0]): r = a1 else: r = a2 yield r[0] del r[0] Какие ошибки или особенности имеет эта программа?
(1) в последней строке каждый раз удаляется элемент из временного списка, а не из a1 или a2: генератор зациклится
(2) генератор оставит за собой временный список, так как del происходит после yield
(3) генератор будет портить переданные ему списки
(4) ошибок нет
Какую роль играет xx в Python-программе, и чему должен быть равен XXX: class A(object): def xx(): return A.__name__ xx = XXX(xx)
(1) метод, XXX равен instancemethod
(2) статический метод, XXX равен staticmethod
(3) метод класса, XXX равен classmethod
(4) функция, XXX можно опустить
Какое множество строк описывает регулярное выражение [ac][ab]?
(1) "ac", "ab"
(2) "aa", "ab", "ca", "cb"
(3) "aa", "ab", "ba", "bb", "ca", "cb"
(4) "[ac][ab]"
Каким образом в документе: <A><B/><B1/>1<C>2</C></A> Можно получить текстовый элемент со значением 1? Предполагается, что он находится в DOM-узле d.
(1) d.getElementsByTagName('A')[0].childNodes[2]
(2) d.childNodes[3]
(3) d.getElementsByTagName('A').childNodes[2]
(4) d.firstChild.firstChild.nextSibling.nextSibling
Что будет получено в результате вычисления следующего выражения: 0 < [1, 4][1] < 3 and None
(1) False (или 0)
(2) True (или 1)
(3) None
(4) синтаксическая ошибка
Класс имеет методы __rshift__, __rrshift__ и __irshift__. Как правильно пользоваться этими методами? class X: def __rshift__(self, opd): #... def __rrshift__(self, opd): #... def __irshift__(self, opd): #... x = X()
(1) print >> x, 10
(2) x <<= 1
(3) y = x >> 2
(4) y = 2 >> x
Для чего в регулярном выражении используется "\w"?
(1) для обозначения границы слова
(2) для обозначения того, что в этом месте нет границы слова
(3) для обозначения буквы или цифры
(4) для обозначения символа, который не является ни буквой, ни цифрой
Какие характеристики можно отнести к языку программирования Python?
(1) большая стандартная библиотека модулей
(2) многоплатформный
(3) удобен для встраивания в проекты на C/C++
Какие из приведенных методов объекта-соединения приводят к откату транзакции?
(1) close()
(2) cursor()
(3) commit()
(4) rollback()
Z будет использоваться в рекурсивной функции в каждом рекурсивном вызове. Какой класс выбрать для него?
(1) Lock
(2) RLock
(3) Semaphore
(4) BoundedSemaphore
Какой класс Tkinter соответствует кнопке для представления одного из альтернативных значений?
(1) Button
(2) Checkbutton
(3) Menubutton
(4) Radiobutton
Что позволяет делать Jython?
(1) встраивать интерпретатор Python в Java-программы
(2) использовать в Python Java-классы
(3) писать Java-аплеты в синтаксисе Python
(4) встраивать в обычный Python Java-код
Какой из операторов соответствует следующему псевдокоду: 1 0 LOAD_FAST 1 (y) 3 LOAD_ATTR 1 (a) 6 STORE_FAST 0 (x) 9 LOAD_CONST 0 (None) 12 RETURN_VALUE
(1) def f(x, y): x.a = y
(2) def f(x, y): x.a = y.a
(3) def f(x, y): x = y.a
(4) def f(x, y): x[a] = y
Что произойдет при повторном импорте модуля (в том же блоке кода) оператором import?
(1) почти ничего
(2) модуль будет взят из кэша
(3) модуль будет заново загружен с диска
(4) программа завершится по ошибке
Что из перечисленного правильно характеризует отличия функций в математике от функций в языках программирования?
(1) в математике функции имеют строго оговоренные множества определения, в программировании это невозможно
(2) в математике функции не имеют побочных эффектов
(3) в программировании функции всегда имеют побочные эффекты
(4) числовые функции языка программирования — часто лишь приближение математической функции
Сокрытие информации о внутреннем устройстве объекта, при котором вся работа с объектом ведется только через общедоступный интерфейс называется
(1) абстракцией
(2) декомпозицией
(3) инкапсуляцией
(4) агрегацией
Чему будет равно значение следующего выражения: shape(shape(array([[1, 2, 3], [4, 5, 6]], Int)))
(1) (2,)
(2) (3, 2)
(3) (3,)
(4) (6,)
Какой длины строки можно использовать в Python?
(1) 256 символов
(2) 65536 символов
(3) длина строк ограничивается имеющейся памятью
(4) длины строк должны быть не больше, чем при их определении
С помощью какого класса из какого модуля пакета email можно вложить в сообщение бинарный файл?
(1) модуль MIMEMessage, класс MIMEMessage
(2) модуль MIMEMultipart, класс MIMEMultipart
(3) модуль MIMEBase, класс MIMEBase
(4) модуль Utils, класс MIME
Как вывести бинарный файл из CGI-сценария для передачи web-клиенту?
(1) передать web-серверу имя файла через стандартный вывод
(2) передать web-серверу имя файла и тип содержимого через стандартный вывод
(3) вывести файл на стандартный вывод
(4) вывести заголовочные поля (как минимум Content-Type), а затем содержимое файла на стандартный вывод
К какому уровню модели взаимодействия открытых систем относится протокол FTP?
(1) сетевому
(2) транспортному
(3) сеансовому
(4) представления
(5) приложений
Какие парадигмы и стили программирования Python поддерживает?
(1) императивное программирование
(2) функциональное программирование
(3) объектно-ориентированный подход
(4) логическое
Какая SQL-команда, скорее всего, должна стоять на месте вопросительных знаков? import sqlite as db c = db.connect(database="tv") cu = c.cursor() cu.execute(???) for res in cu.fetchall(): # ...
(1) CREATE TABLE
(2) INSERT
(3) SELECT
(4) DELETE
Может ли возникнуть deadlock в следующей программе: import threading res_A = threading.Lock() res_B = threading.Lock() res_C = threading.Lock() def proc1(): res_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_B.release(); res_C.release(); res_A.release() def proc2(): res_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_C.release(); res_B.release(); res_A.release() def proc3(): res_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_A.release(); res_B.release(); res_C.release() p1 = threading.Thread(target=proc1, name="t1") p2 = threading.Thread(target=proc2, name="t2") p3 = threading.Thread(target=proc3, name="t3") p1.start(); p2.start(); p3.start() p1.join(); p2.join(); p3.join();
(1) да, обязательно
(2) да, возможно
(3) нет, не возникнет
Какой шаблон можно использовать для события двойного щелчка левой кнопки мыши?
(1) <B1-B1>
(2) <Double-Button-1>
(3) <Double-B1>
(4) <Double-1>
Где мог встретиться следующий фрагмент кода? %module gugu %typemap(out) char * { char i; $result = PyTuple_New(6);
(1) это код на языке Pyrex
(2) это код модуля расширения на C
(3) это код из интерфейсного файла SWIG
(4) это код OCaml
С помощью функций какого модуля проще всего исследовать содержимое стека при обработке исключения в части except?
(1) dis
(2) traceback
(3) tb
(4) inspect
Какие встроенные функции служат для работы с атрибутами объекта?
(1) hasattr(), getattr(), setattr(), delattr()
(2) type(), intern(), del
(3) callable(), super()
(4) staticmethod(), classmethod(), property()
Объекты a и b принадлежат одному классу C. Какие из следующих выражений будут, скорее всего, иметь значение "истина" сразу после создания?
(1) isinstance(a, type(b))
(2) issubclass(C, C)
(3) dir(a) is dir(b)
(4) dir(a) == dir(b)
Чему будет равно значение следующего выражения: shape(transpose(ones((2, 3, 4))))
(1) (3, 2, 4)
(2) (3, 4, 2)
(3) (2, 4, 3)
(4) (4, 3, 2)
Какие строковые литералы записаны правильно
(1) ' ' '1' ' '
(2) ' ' ' " " " ' ' '
(3) "\007"
(4) r"\007"
С помощью какого метода можно последовательно пройти все части сообщения msg?
(1) msg.get_all()
(2) msg.get_params()
(3) msg.walk()
(4) msg.values()
Какая ошибка допущена в следующем коде CGI-сценария? import cgi f = cgi.FieldStorage() if f.has_key("a"): v = str(int(f["a"])) else: v = "0" print " " "Content-Type: text/html\n" " " print v
(1) неправильно использованы методы FieldStorage-объекта
(2) ввод пользователя не проверен на безопасность
(3) после получения f["a"] нужно взять атрибут value
(4) ошибок нет
Какие ошибки (и погрешности) допущены в следующем примере? fromaddr = "tetja@abcde.ru" toaddr = "ktoto@edcba.ru" message = """From: tetja@abcde.ru To: ktoto@edcba.ru Subject: Your aunt Hello! I am your aunt. """ try: connect = SMTP('mail.abcde.ru') connect.sendmail(fromaddr, toaddr, message) connect.quit() except: print "Не удалось отправить сообщение"
(1) не обрабатываются исключения
(2) в сообщении (message) не заданы поля
(3) отсутствует указание порта SMTP (25)
(4) ошибок и существенных погрешностей нет
Что будет выведено следующей программой: a = "AB" b = "BC" print "%sa, b" % a, b
(1) "AB", "BC"a, b
(2) ABa, b BC
(3) ('AB', 'BC')a, b
(4) (AB, BC)a, b
Для чего применяется метод fetchone() объекта-курсора?
(1) для перехода к следующей записи результата запроса
(2) для получения следующей записи результата запроса
(3) для перехода к следующему набору записей результата запроса
(4) для получения следующего набора записей результата запроса
Что делает следующая программа? import threading l = threading.Lock() def proc(nm, n=0): l.acquire() try: if n < 5: print "*", return proc(nm, n+1) else: return nm finally: l.release() for i in range(5): threading.Thread(target=proc, args=(str(i),)).start()
(1) беспрерывно печатает звездочки
(2) печатает 1 звездочку и зависает
(3) печатает 5 звездочек
(4) печатает 25 звездочек
(5) аварийно завершается при попытке выполнить l.acquire() во второй раз
Какой код порождает следующее расположение кнопок? files # 1 b1.grid(row=0, column=0, rowspan=2) b2.grid(row=0, column=1) b3.grid(row=1, column=1) # 2 b1.grid(row=0, column=0, columnspan=2) b2.grid(row=1, column=0) b3.grid(row=1, column=1) # 3 b1.grid(row=1, column=1, rowspan=2) b2.grid(row=1, column=0) b3.grid(row=0, column=0) # 4 b1.grid(row=1, column=1, columnspan=2) b2.grid(row=0, column=1) b3.grid(row=0, column=0)
(1) 1
(2) 2
(3) 3
(4) 4
В каких из перечисленных ниже случаев удобнее встроить интерпретатор Python в программную систему?
(1) когда система позволяет вызывать внешние сценарии
(2) когда системе требуется функциональность, которую пользователю удобнее описать на языке сценария, но система изначально написана на C/C++
(3) система доступна в виде бинарной библиотеки
(4) система поставляется как пакет прикладных программ
Как получить название модуля, в котором был определен класс объекта x?
(1) x.__module__.__name__
(2) x.__module__
(3) x.__class__.__module__
(4) x.__class__.__module__.__name__
Какими способами можно получить доступ к функции fun() из модуля fns?
(1) from fns import fun; fun()
(2) import fns; fns.fun()
(3) import fns.fun; fns.fun()
(4) import fns.fun as fun; fun()
Начало определения функции f выглядит так: def f(*p, **k): Какие из следующих вариантов вызова не приведут к ошибке на этапе присваивания фактических параметров формальным?
(1) f(1, d=2, 3)
(2) f(1, 2)
(3) f(1, 2, 3, 4)
(4) f(1, 2, d=3, c=4)
(5) f(1, 2, d=3)
Имеются следующие определения: class A: def am(self): print "am" class B: def bm(self): print "bm" a = A() b = B() Какой из фрагментов кода содержит ошибки?
(1) a.am = b.bm; a.bm()
(2) a.am = b.bm; a.am()
(3) A.am = b.bm; a.am()
(4) A.am = B.bm; a.am()
Дана матрица a. Как получить сумму всех элементов a?
(1) sum.a
(2) sum(sum(a))
(3) sum(ravel(a))
(4) sum(a.flat)
Какая строка получится в результате следующей операции: "=%1s %2.2f %03i=" % ("abc", 1.234, 4)
(1) =a 1.23 004=
(2) =a 01.23 004=
(3) =abc 1.23 004=
(4) =c 1.23 004=
Что будет выведено в результате выполнения следующего кода: from xml.sax.saxutils import XMLGenerator g = XMLGenerator(encoding="utf-8") g.startDocument() g.startElement("A", {}) g.startElement("B", {'b': '1'}) g.characters("2") g.endElement("B") g.endElement("A") g.endDocument()
(1) <?xml version="1.0" encoding="utf-8"?><A><B b="1">2</B></A>
(2) <?xml version="1.0"?><A><B b="1">2</B></A>
(3) <?xml version="1.0" encoding="utf-8"?><A><B><b>1</b>2</B></A>
(4) <?xml version="1.0" encoding="utf-8"?><A><B b=1>2</B></A>
Как обработчик mod_python передает ответ на запрос?
(1) по аналогии с CGI-сценарием
(2) посредством специального объекта, представляющего запрос, переданного как параметр
(3) с помощью вызова функции
(4) присваиванием значений переменным окружения
Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные? import poplib, email p = poplib.POP3('pop3.SERVER') p.getwelcome() p.user('USERNAME') p.pass_('USERPASSWORD') response, lst, octets = p.list() # # обработка lst # ... (resp, lines, octets) = p.retr(1) print "Длина первого сообщения:", len(lines), "символов" # ... # p.quit()
(1) с помощью len(lines) можно вычислить длину сообщения в строках. Для вычисления длины сообщения в символах (точнее, в байтах) нужно просуммировать длину строк в списке lst (или взять octets)
(2) в списке может не быть первого сообщения: необходимо это проверять
(3) делать quit() необязательно, он выполнится сам
(4) ошибок нет
Что выведет следующая программа: S = 0 for i in range(10, 2, -1): if i % 2 == 0: S = S + i print S
(1) 0
(2) 20
(3) 28
(4) 30
Какое исключение должно быть возбуждено DB-API 2.0-совместимым модулем при ошибке - нарушении целостности базы данных?
(1) InterfaceError
(2) DataError
(3) OperationalError
(4) IntegrityError
Какие из фрагментов кода могут потребовать использования замков?
(1) a.meth(), где a = A()
(2) a = [1, 2]
(3) b = a.pop(), где a == [1, 2]
(4) a[3] = 123, где a = B()
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены? from Tkinter import * from ScrolledText import ScrolledText def transl(): txt = t1.get("1.0", END).replace(e1.get(), e2.get()) t2.delete("1.0", END) t2.insert(END, txt) tk = Tk() f = Frame(tk) e1 = Entry(f, background="White", width=32) b = Button(f, text=">>", command=transl) e2 = Entry(f, background="White", width=32) f.grid(row=0, column=0, columnspan=2) t1 = ScrolledText(tk, background="White", width=40) t1.grid(row=1, column=0) t2 = ScrolledText(tk, background="White", width=40) t2.grid(row=1, column=1) tk.mainloop()
(1) функция transl() должна иметь аргумент
(2) некоторые виджеты не появятся в окне, так как не применены менеджеры расположения
(3) e1.get() и e2.get() должны быть e1.get("1.0", END) и e2.get("1.0", END) соответственно
Какие из перечисленных модулей служат для преобразования форматов данных (кодирования/декодирования)?
(1) quopri
(2) threading
(3) xmlrpclib
(4) binascii
Сколько списков занимающих много памяти задействовано в следующей программе: for i in itertools.izip(xrange(10**6), xrange(10**6)): pass
(1) 0
(2) 1
(3) 2
(4) 3
Имеется определение класса: class Line: def __init__(self, (x, y), (x1, y1)): self._b = (x, y) self._e = (x1, y1) def length(self): import math return math.sqrt((self._b[0]-self._e[0])**2 + (self._b[1]-self._e[1])**2) def begin(self): return self._b def end(self): return self._e l = Line((1, 2), (-1, 4)) Какие из вариантов его применения не допустимы в программах на Python, которые пользуются экземплярами класса Line?
(1) print l.length()
(2) print l._b, "-", l._e
(3) print l.x, l.x1
(4) print l.begin(), l.end()
Как перевести Unicode-строку u в кодировку koi8-r?
(1) u.recode('unicode', 'koi8-r')
(2) u.decode('koi8-r')
(3) u.encode('koi8-r')
(4) string.decode(u, 'koi8-r')
Что делает метод normalize() DOM-объекта?
(1) готовит XML для красивого вывода
(2) исправляет XML, добавляя пропущенные теги
(3) сводит воедино все идущие подряд текстовые узлы
(4) убирает пробелы вокруг текста
В каком порядке Zope будет искать index_html для следующего URL? http://zopeserver/Zigzag/Example/index_html
(1) только в каталоге /Zigzag/Example/
(2) в каталогах /Zigzag/Example и /Zigzag
(3) в каталогах /, /Zigzag и /Zigzag/Example
(4) в каталогах /Zigzag/Example, /Zigzag и /????
Что может быть на месте QQQ для корректного формирования запроса с множественными значениями? import urllib enc_data = urllib.urlencode(QQQ) f = urllib.urlopen("http://searchengine.com/search" + "?" + enc_data)
(1) [("n", "1"), ("n", "3"), ("n", "4"), ("button", "Hello"),]
(2) {"n": "1", "n": "3", "n": "4", "button": "Hello"}
(3) n="1", n="3", n="4", button="Hello"
(4) ["n", "1", "n", "3", "n", "4", "button", "Hello",]
Сколько видимых символов будет напечатано после выполнения следующего кода: S = "\n123\\" print S
(1) 4
(2) 5
(3) 6
(4) 7
В каких частях программы допущены ошибки в следующем примере? import threading # 1 def proc(*args): print "Процесс в потоке пошел!" while 1: pass # 2 p1 = threading.Thread(target=proc(), name="t1", args=[2]) # 3 p1.start()
(1) 1
(2) 2
(3) 3
(4) ошибок нет
Как мог бы называться стандартный модуль Python для работы с протоколом IMAP?
(1) IMAPLibrary
(2) imaplib
(3) libimap
(4) imap_module
Какие из перечисленных функций имеют побочные эффекты: def A(lst): def AA(x): return lst + [x] return AA def B(x): def BB(lst): return lst + [x] return BB def C(x, cache={}): if cache.has_key(x): return cache[x] def CC(lst): return lst + [x] cache[x] = CC return CC
(1) A, B, C
(2) только B и C
(3) только C
(4) никакие
Как называется отношение, которое имеют между собой следующие два класса: class A(object): def __init__(self, **atts): self._atts = atts def __repr__(self): return ":" + str(self._atts) class B(list): def __init__(self, *params): super(B, self).__init__(params)
(1) ассоциация. Экземпляры A содержат ссылки на экземпляры B
(2) ассоциация. Экземпляры B содержат ссылки на экземпляры A
(3) агрегация. Экземпляры B содержат экземпляры A
(4) классы не связаны между собой
Дан массив: >>>c = array([[1,2], [2,3], [4,5]]) Чему равен срез c[1]?
(1) array([1, 2])
(2) array([2, 3])
(3) array([2, 3, 5])
(4) array([1, 2, 4])
Какие из строк будут успешно сопоставлены с регулярным выражением ^[abc]*$?
(1) "abc"
(2) "ABC"
(3) "aaa"
Какой фрагмент XML будет порожден в результате выполнения следующего кода: from xml.dom import minidom dom = minidom.Document() e1 = dom.createElement("A") e2 = dom.createElement("B") dom.appendChild(e1) t = dom.createTextNode("2") e1.appendChild(t) e1.appendChild(e2) print dom.toxml()
(1) <?xml version="1.0" ?><A>2<B></A>
(2) <?xml version="1.0" ?><A>2<B></B></A>
(3) <?xml version="1.0" ?><A>2<B/></A>
(4) <?xml version="1.0" ?><A><B>2</B></A>
Что обозначает k в примере, использующем TAL? <a href="k" tal:attributes="href string:/digit/$el" tal:content="el">SELECTION</a>
(1) имя переменной для макроподстановки в атрибут
(2) литеральное значение, которое при заполнении шаблона заменяется другим значением
(3) имя переменной для макроподстановки между <a> и </a>
(4) литеральное значение для подстановки между <a> и </a>
Какова структура URL согласно RFC 2396?
(1) scheme://netloc/path?query#fragment
(2) scheme://netloc/path;parameters?query
(3) scheme://netloc/path;parameters?query#fragment
(4) scheme://netloc/path?query#fragment;parameters
Какого типа значение получится в результате вычисления следующего выражения: [ " "]
(1) str (строка)
(2) list (список)
(3) это синтаксическая ошибка
(4) array (массив)
Получен новый пакет (в виде исходных кодов) для Python. Какова рекомендуемая процедура установки нового модуля, если известно, что он использует distutils?
(1) выполнить в каталоге с развернутым пакетом команду python setup.py install
(2) скопировать содержимое в каталог .../site-packages
(3) выполнить distutils --install имя модуля
(4) в Windows -- запустить установщик
Имеется следующий генератор для слияния двух отсортированных последовательностей: def merge(a1, a2): i1 = iter(a1) i2 = iter(a2) while i1 or i2: if i1 and (not i2 or i1[0] < i2[0]): r = i1 else: r = i2 yield r.next() Какие ошибки или особенности имеет эта программа?
(1) индексирование (i1[0], i2[0]) неприменимо к итераторам
(2) длина итератора в общем случае неизвестна: ошибка в строке с условием цикла
(3) генератор будет портить переданные ему списки
(4) ошибок нет
Какую роль играет xx в Python-программе, и чему должен быть равен XXX: class A(object): def xx(cls, x): ... xx = XXX(xx)
(1) метод, XXX равен instancemethod
(2) статический метод, XXX равен staticmethod
(3) метод класса, XXX равен classmethod
(4) функция, XXX можно опустить
Что будет выведено в результате выполнения сопоставления с регулярным выражением? >>> m = re.match("(a*?)(a+)(b+?)", "aaabbb") >>> print m.groups()
(1) ('aa', 'a', 'bbb')
(2) ('a', 'aa', 'b')
(3) ('', 'aaa', 'b')
(4) ('aa', 'a', 'b')
Каким образом в документе: <A><B><C>2</C></B></A> Можно получить текстовый элемент со значением 2? Предполагается, что он находится в DOM-узле d
(1) d.childNodes[0].childNodes[0].childNodes[0].firstChild
(2) d.childNodes[3]
(3) d.getElementsByTagName('C')[0].childNodes[0]
(4) d.firstChild.lastChild.firstChild.lastChild
Что будет получено в результате вычисления следующего выражения: 0 < [1, 4], [1] < 3
(1) True (или 1)
(2) False (или 0)
(3) (True, False) (или (1, 0))
(4) синтаксической ошибки нет, но поведение интерпретатора неопределенно
Каков синтаксис для "заглядывания вперед" в регулярных выражениях, доступных в Python?
(1) (?P=регвыр)
(2) (?#регвыр)
(3) (?<=регвыр)
(4) (?=регвыр)
Какие из этих утверждений о Python верны?
(1) программы на Python транслируются в машинные коды, которые затем исполняются
(2) Python использует промежуточный код
(3) язык Python применяется для быстрой разработки приложений
(4) Python имеет обширную библиотеку стандартных модулей
Какие из приведенных методов объекта-соединения приводят к завершению транзакции?
(1) close()
(2) cursor()
(3) commit()
(4) rollback()
Экземпляры какого класса сочетают замок и средство коммуникации между потоками?
(1) Lock
(2) Timer
(3) Event
(4) Condition
Какой класс Tkinter соответствует кнопке для представления многострочного текста (без возможности редактирования)?
(1) Message
(2) Label
(3) Listbox
Насколько полно C API Python охватывает средства языка Python?
(1) только основные вызовы интерпретатора
(2) меньше половины возможностей
(3) значительная часть возможностей
(4) практически все возможности
Какой из операторов соответствует следующему псевдокоду: 1 0 LOAD_FAST 1 (y) 3 LOAD_ATTR 1 (a) 6 LOAD_FAST 0 (x) 9 STORE_ATTR 1 (a) 12 LOAD_CONST 0 (None) 15 RETURN_VALUE
(1) def f(x, y): x.a = y
(2) def f(x, y): x.a = y.a
(3) def f(x, y): x = y.a
(4) def f(x, y): x[a] = y
Что произойдет со старыми объектами модуля, используемыми в программе, при его перезагрузке по reload() (после изменения на диске): import mdl a = mdl.a b = mdl.b() reload(mdl)
(1) объекты (a, b) изменятся в соответствии с новыми определениями
(2) изменятся только классы, функции и т.п. (a)
(3) имена из модуля (mdl.a, mdl.b) будут ссылаться на другие объекты. Старые объекты (a, b) не изменятся
(4) изменится только mdl
Что из нижеперечисленного естественно для реализации в функциональном стиле?
(1) рекурсия
(2) итераторы
(3) циклы
Что из нижеперечисленного является объектом в Python?
(1) функция
(2) метод
(3) класс
(4) оператор
Чему будет равно значение следующего выражения: shape(shape(array([[1, 2, 3, 4], [4, 5, 6, 9]], Float32)))
(1) (2,)
(2) (3,)
(3) (3, 2)
(4) (6,)
Что такое регулярное выражение?
(1) синтаксически правильное выражение на языке Python
(2) шаблон для операции форматирования
(3) шаблон, описывающий множество строк
(4) шаблон для поиска файлов в каталоге
Какой класс из какого модуля пакета email служит для вложения в сообщение другого сообщения?
(1) модуль MIMEMessage, класс MIMEMessage
(2) модуль MIMEMultipart, класс MIMEMultipart
(3) модуль MIMEBase, класс MIMEBase
(4) модуль Utils, класс MIME
Что происходит при аварийном завершении CGI-сценария (например, при работе с web-сервером Apache)?
(1) Web-клиент получает частичное содержимое стандартного вывода
(2) Web-клиент получает частичное содержимое стандартного вывода ошибок
(3) Web-клиент получает пустой ответ
(4) Web-клиент получает сообщение "Internal Server Error"
К какому уровню модели взаимодействия открытых систем относится протокол UDP?
(1) сетевому
(2) транспортному
(3) сеансовому
(4) представления
(5) приложений
Какие парадигмы Python не поддерживает?
(1) логическое программирование
(2) структурный стиль
(3) модульное программирование
(4) гибрид парадигм
Какой метод, скорее всего, должен быть использован на месте вопросительных знаков? mport sqlite as db c = db.connect(database="tv") cu = c.cursor() cu.???( " " " CREATE TABLE tv1 (tvdate DATE, tvweekday INTEGER); " " " )
(1) fetchone()
(2) fetchall()
(3) execute()
(4) callproc()
Может ли возникнуть deadlock в следующей программе: import threading res_A = threading.Lock() res_B = threading.Lock() res_C = threading.Lock() def proc1(): res_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_B.release(); res_C.release(); res_A.release() def proc2(): res_B.acquire(); res_C.acquire(); res_A.acquire() # ... res_C.release(); res_B.release(); res_A.release() def proc3(): res_C.acquire(); res_A.acquire(); res_B.acquire() # ... res_A.release(); res_B.release(); res_C.release() p1 = threading.Thread(target=proc1, name="t1") p2 = threading.Thread(target=proc2, name="t2") p3 = threading.Thread(target=proc3, name="t3") p1.start(); p2.start(); p3.start() p1.join(); p2.join(); p3.join();
(1) да, обязательно
(2) да, возможно
(3) нет, не возникнет
Какой шаблон можно использовать для события — тройного щелчка правой кнопкой мыши?
(1) <B-3>
(2) <Triple-B1>
(3) <Triple-B2>
(4) <Triple-B3>
Где мог встретиться следующий фрагмент кода? if a < 5: a = 1000
(1) это код на языке Pyrex
(2) это код модуля расширения на C
(3) это код из интерфейсного файла SWIG
(4) это код на Python
Какой модуль содержит функции для построения деревьев синтаксического разбора?
(1) symbol
(2) tokenize
(3) parser
(4) inspect
Что обычно делается для возврата более одного значения из функции?
(1) ничего; возвратить можно только одно значение
(2) возвращается кортеж значений
(3) значения можно вернуть через объекты, заданные в списке аргументов (как в C/C++)
Карринг — это...
(1) передача функции в другую функцию
(2) получение новой функции на основе заданной функции, при котором часть аргументов получает значение
(3) перенос параметров функции в ее результат
(4) возврат объекта-функции из другой функции
Сколько общедоступных методов будет иметь экземпляр класса ABC и что возвратит вызов метода a()? class A(object): def a(self): return 'a' class B(object): def b(self): return 'b' class C(object): def c(self): return 'c' class AB(A, B): def a(self): return 'ab' class BC(B, C): def a(self): return 'bc' class ABC(AB, B, C): def a(self): return 'abc'
(1) 3, возвратит a
(2) 3, возвратит ab
(3) 3, возвратит abc
(4) 5, возвратит a
Чему будет равно значение следующего выражения: shape(transpose(ones((2, 3, 4)), [1, 0, 2]))
(1) (3, 2, 4)
(2) (3, 4, 2)
(3) (2, 4, 3)
(4) (4, 3, 2)
Какие строковые литералы записаны правильно?
(1) ' (1+'
(2) " " " " " "
(3) " " "
(4) r"\\"
Какой метод позволяет узнать, имеет ли данное сообщение несколько частей?
(1) is_multipart()
(2) get_main_type()
(3) get_payload()
(4) items()
Какая ошибка допущена в следующем коде CGI-сценария? import cgi f = cgi.FieldStorage() if f.has_key("a"): v = str(int(f["a"].value)) else: v = "0" print " " "Content-Type: text/html\n" " " print v
(1) неправильно использованы методы FieldStorage-объекта
(2) ввод пользователя не проверен на безопасность
(3) после получения f["a"] нужно взять атрибут value
(4) ошибок нет
Какие ошибки (и погрешности) допущены в следующем примере? fromaddr = "tetja@abcde.ru" toaddr = "ktoto@edcba.ru" message = """From: tetja@abcde.ru To: ktoto@edcba.ru Subject: Your aunt Hello! I am your aunt. """ connect = SMTP('mail.abcde.ru') connect.sendmail(message) connect.quit()
(1) не обрабатываются исключения
(2) в сообщении (message) не заданы поля
(3) отсутствуют некоторые параметры при вызове connect.sendmail
(4) ошибок и существенных погрешностей нет
Что будет выведено в следующем примере: >>> a = [1, 2, 3] >>> a[1] = a[1:2] >>> print a[1]
(1) [1]
(2) [2]
(3) 2
(4) [1, 2]
Для чего применяется метод nextset() объекта-курсора?
(1) для перехода к следующей записи результата запроса
(2) для получения следующей записи результата запроса
(3) для перехода к следующему набору записей результата запроса
(4) для получения следующего набора записей результата запроса
Что делает следующая программа? import threading class PR(threading.Thread): def __init__(self, n): threading.Thread.__init__(self, name="t" + n) self.n = n def run(self): import time time.sleep(1) print "*" p1 = PR("1") p2 = PR("2") p1.start() p2.start()
(1) выводит две звездочки спустя секунду после запуска
(2) через секунду выводит звездочку, а затем через секунду — еще одну
(3) выводит одну звездочку и зависает
(4) выводит одну звездочку и завершается
Какой код порождает следующее расположение кнопок? files # 1 b1.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SE) b2.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NE) b3.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SW) b4.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NW) # 2 b1.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SE) b2.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NE) b3.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SW) b4.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NW) # 3 b1.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NW) b2.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SW) b3.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NE) b4.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SE) # 4 b1.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NW) b2.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SW) b3.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NE) b4.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SE)
(1) 1
(2) 2
(3) 3
(4) 4
В каком случае целесообразно написать модуль расширения, а не модуль на чистом Python (в предположении, что программная система пишется на Python)?
(1) требуемая от модуля функциональность доступна в виде бинарной библиотеки
(2) система требует большой гибкости, но не требует высокой производительности
(3) предполагается, что модуль будет часто использоваться, но изменения в нем будут довольно редкими
(4) от модуля требуется высокая производительность
Как получить строку документирования к классу X?
(1) X.__doc__
(2) inspect.getsource(X)
(3) inspect.getdoc(X)
(4) inspect.getcomments(X)
Из какого модуля будет работать функция replace() в следующем примере: from sre import sub as replace from string import replace
(1) из string
(2) из sre.sub
(3) из sre.string
(4) возникнет ошибка (конфликт имен)
Начало определения функции f выглядит так: def f(a, b, c=1, *p, **k): Какие из следующих вариантов вызова не приведут к ошибке на этапе присваивания фактических параметров формальным?
(1) f()
(2) f(1, 2)
(3) f(1, 2, 3, 4)
(4) f(1, 2, d=3, c=4)
(5) f(1, 2, d=3)
(6) f(1, d=2, 3)
Имеются следующие определения: def aa(x): class X: def m(self): return x return X a = aa(1)() Какие из фрагментов кода содержат ошибки?
(1) print a.m()
(2) b = aa()()
(3) print a()
Дана матрица a. Как получить произведение всех элементов a?
(1) product(a.flat)
(2) product(ravel(a))
(3) product(product(a))
Какая строка получится в результате следующей операции: "=%r %0.1f %03i=" % ("abc", 1.234, 3)
(1) ='abc' .2 3=
(2) =abc 1.2 3=
(3) ='abc' 1.2 003=
(4) ='abc' 1.2 3 =
Что будет выведено в результате выполнения следующего кода: from xml.sax.saxutils import XMLGenerator g = XMLGenerator(encoding="utf-8") g.startDocument() g.startElement("A", {}) g.startElement("B", {'b': '1'}) g.endElement("B") g.startElement("B", {'b': '2'}) g.endElement("B") g.endElement("A") g.endDocument()
(1) <?xml version="1.0" encoding="utf-8"?><A><B b="1" b="2"></B></A>
(2) <?xml version="1.0" encoding="utf-8"?><A><B b="1"></B><B b="2"></B></A>
(3) <?xml version="1.0" encoding="utf-8"?><A><B b=1></B><B b=2></B></A>
(4) <?xml version="1.0" encoding="utf-8"?><A><B b="1"><B b="2"></B></B></A>
Как в одном Python-сценарии можно задать несколько различных обработчиков mod_python?
(1) в различных функциях
(2) в различных модулях
(3) в различных классах
(4) один сценарий может иметь только один обработчик
Какие утверждения о следующем фрагменте программы, работающей с POP3-сервером, правильные? import poplib, email p = poplib.POP3('pop3.SERVER') p.user('USERNAME', 'USERPASSWORD') response, lst, octets = p.list() # # обработка lst # ... # p.quit()
(1) отсутствуют две команды протокола POP3
(2) неправильный вызов метода user(): пароль задается в отдельной команде
(3) делать quit() необязательно, он выполнится сам
(4) ошибок нет
Что выведет следующая программа: S = 0 for i in range(1, 10): for j in range(1, 3): if i == j: S = S + i + j break print S
(1) 0
(2) 2
(3) 6
(4) 12
Какое исключение объединяет исключения, относящие к ошибкам обработки данных, синтаксиса SQL, сбоя соединения с СУБД, нарушения целостности базы данных и т.п.?
(1) InterfaceError
(2) DatabaseError
(3) OperationalError
(4) IntegrityError
Какие из фрагментов кода могут потребовать использования замков?
(1) a = A()
(2) a = {'a':1, 'b':12}
(3) a.extend([3, 4, 5]), где a == [1, 2]
(4) del a[3], где a = B()
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены? from Tkinter import * from ScrolledText import ScrolledText def transl(): txt = t1.get("1.0", END).replace(e1.get(), e2.get()) t2.delete("1.0", END) t2.insert(END, txt) tk = Tk() f = Frame(tk) e1 = Entry(f, background="White", width=32) e1.pack(side=LEFT) b = Button(f, text=">>", command=transl) b.pack(side=LEFT) e2 = Entry(f, background="White", width=32) e2.pack(side=LEFT) f.grid(row=0, column=0, columnspan=2) t1 = ScrolledText(tk, background="White", width=40) t1.grid(row=1, column=0) t2 = ScrolledText(tk, background="White", width=40) t2.grid(row=1, column=1) tk.mainloop()
(1) нажатие кнопки не привязано к событию с помощью метода bind()
(2) применены разные менеджеры расположения
(3) вместо columnspan нужен rowspan
(4) ошибок нет
С помощью каких модулей можно загрузить файл с FTP-сервера?
(1) cgi
(2) mimetools
(3) ftplib
(4) urllib
Аналогом какой функции является функция x? def x(a, b): for c in b: yield a(*c)
(1) itertools.izip()
(2) itertools.imap()
(3) itertools.starmap()
(4) map(None, ...)
Имеется определение класса: class Line: def __init__(self, (x, y), (x1, y1)): self._b = (x, y) self._e = (x1, y1) def length(self): import math return math.sqrt((self._b[0]-self._e[0])**2 + (self._b[1]-self._e[1])**2) class Triangle: def __init__(self, p1, p2, p3): self._a, self._b, self._c = p1, p2, p3 def p(self): return Line(self._a, self._b).length() + Line(self._a, self._c).length() + Line(self._b, self._c).length() def as_lines(self): return Line(self._a, self._b), Line(self._a, self._c), Line(self._b, self._c) tr = Triangle((1, 2), (-1, 4), (0, 0)) Какие из вариантов его применения допустимы в программах на Python, которые пользуются экземплярами класса Triangle?
(1) print Line(tr._a + tr._b).length()
(2) print tr.as_lines()[0].length()
(3) print tr.p()
(4) print _a, _c
Как можно проверить выполнение некоторого условия cond хотя бы для одного элемента матрицы a?
(1) sometrue(cond(a))
(2) sometrue(cond(a.flat))
(3) logical_or.reduce(cond(a))
(4) logical_or.reduce(logical_or.reduce(cond(a)))
Как заменить в строке s все вхождения подстроки "a" на "A"?
(1) s.replace("a", "A")
(2) s.replace("A", "a")
(3) s.translate("a", "A")
(4) re.sub('a', 'A', s)
Какие методы позволяют получить атрибут DOM-узла?
(1) getAttribute()
(2) getAttributeNode()
(3) getAttribute() и getAttributeNode()
(4) атрибуты узла можно получить чтением атрибута DOM-объекта узла node
Что включает в себя Zope?
(1) среду разработки
(2) поддержку CGI-сценариев
(3) специализированную СУБД для хранения объектов
(4) поддержку сценариев на Python и Perl
Что получится в результате вычисления следующего выражения: urllib.quote("a = b + c")
(1) 'a%20=%20b%20+%20c'
(2) 'a%20=%20b%20%2B%20c'
(3) 'a%20%3D%20b%20%2B%20c'
(4) 'a+%3D+b+%2B+c'
Сколько элементов будет содержать список L (то есть, чему будет равно len(L)) после выполнения следующего кода: L = [] L.append([1,2,3]) L = L*2
(1) произойдет ошибка
(2) 1
(3) 2
(4) 6
Какие ошибки допущены в следующем примере? import threading, Queue item = Queue.Queue() def consumer(nm): for i in range(3): print item.get(), nm def producer(nm): for i in range(4): item.put(nm) for n in range(4): threading.Thread(target=consumer, args=("c"+str(n),)).start() for n in range(3): threading.Thread(target=producer, args=("p"+str(n),)).start()
(1) потоки-потребители очереди запущены раньше потоков-производителей
(2) объекту, соответствующему потоку, нужно давать отдельное имя
(3) программа зависнет, так как производителей меньше, чем потребителей
(4) ошибок нет
Какие из перечисленных функций имеют побочные эффекты: def A(lst): return lambda x: lst + [x] def B(x): return lambda lst: lst + [x] def C(x, cache={}): return cache.setdefault(x, lambda lst: lst + [x])
(1) A, B, C
(2) только B и C
(3) только C
(4) никакие
Объект какого из перечисленных типов можно передавать в качестве параметра функции f()? def f(x): l = len(x) return x[l-1]
(1) int
(2) str
(3) tuple
(4) bool
Дан массив: >>> c = array([[1,2], [2,3], [4,5]]) Чему равен срез c[:,1]?
(1) array([1, 2])
(2) array([2, 3])
(3) array([2, 3, 5])
(4) array([1, 2, 4])
Какое из приведенных ниже регулярных выражений некорректно?
(1) a+b++
(2) (a+b+)+
(3) [a]*?
(4) (?P<k>(ac))
Какой фрагмент XML будет порожден в результате выполнения следующего кода: from xml.dom import minidom dom = minidom.Document() e1 = dom.createElement("A") e2 = dom.createElement("B") dom.appendChild(e1) t = dom.createTextNode("2") e1.appendChild(t) t = dom.createTextNode("3") e2.appendChild(t) e1.appendChild(e2) print dom.toxml()
(1) <?xml version="1.0" ?><A><B>2</B>3</A>
(2) <?xml version="1.0" ?><A><B>3</B>2</A>
(3) <?xml version="1.0" ?><A>2<B></B>3</A>
(4) <?xml version="1.0" ?><A>2<B>3</B></A>
Что обозначает k в примере, использующем TAL? <a href="k" tal:attributes="href string:/digit/$el" tal:content="el">SELECTION</a>
(1) имя переменной для макроподстановки в атрибут
(2) литеральное значение, которое при заполнении шаблона заменяется другим значением
(3) имя переменной для макроподстановки между <a> и </a>
(4) литеральное значение для подстановки между <a> и </a>
Чему будет равен результат выполнения urlparse.urlsplit("http://google.com/search?q=Python#1")?
(1) ('http', 'google.com', '/search', 'q=Python', '1')
(2) ('http', 'google.com', '/search', '', 'q=Python', '1')
(3) ('http', 'google.com', 'search', 'q=Python', '1')
(4) ('http://', 'google.com/', 'search?', 'q=Python#', '1')
Какого типа значение получится в результате вычисления следующего выражения: (r'\u0432')
(1) str (строка)
(2) unicode (Unicode-строка)
(3) tuple (кортеж)
(4) это синтаксическая ошибка
Какая операция выполняет пересечение множеств: from sets import Set as set A = set([1, 2, 3]) B = set([2, 3, 7])
(1) A ^ B
(2) A * B
(3) A | B
(4) A & B
В каких местах допущены ошибки в генераторном выражении, выдающем список координат полей шахматной доски? (j+str(i) for i in xrange(1, 9) for j in "abcdefgh")
(1) ошибка в j+str(i)
(2) ошибка в for i in xrange(1, 9)
(3) ошибка в for j in "abcdefgh"
(4) ошибок нет
Какую роль играет xx в Python-программе: class A: ... class B: ... ... a = A() b = B() c = xx(a, b) b1 = B() c1 = xx(b1, b)
(1) метод
(2) мультиметод
(3) функция
(4) класс
Какие значения получат группы в следующем примере? >>> m = re.match("(?P<a>A*?)(?:B+)(?P<b>B+?)(?P<c>C??)", "AAAABBBBC") >>> m.groupdict()
(1) {'a': 'AAAA', 'c': 'C', 'b': 'B'}
(2) {'a': 'AAAA', 'b': 'BBBB'}
(3) {'a': 'AAAA', 'b': 'B'}
(4) {'a': 'AAAA', 'c': '', 'b': 'B'}
Каким образом в документе d: <A a="1"><B b="1"></B></A> Можно получить текстовый элемент, имеющий атрибут a?
(1) d.firstChild
(2) d.childNodes[0]
(3) d.getElementsByTagName('A')[0].childNodes[0]
(4) d.getElementsByTagName('B')[0].parentNode
Что будет получено в результате вычисления следующего выражения: (0 < 5 <= 3) and (0 / 0)
(1) False (или 0)
(2) True (или 1)
(3) будет возбуждено исключение ZeroDivisionError (деление на нуль)
(4) синтаксическая ошибка
Какие методы необходимо иметь x для задания следующих действий: >>> x = X(0) >>> print x + 10 10 >>> print x - 23 -23 >>> print x >> 2 0
(1) __init__, __add__, __radd__, __sub__, __rsub__, __rshift__, __rrshift__
(2) __init__, __add__, __sub__, __rshift__
(3) __init__, __add__, __sub__, __rshift__, __str__, __repr__
(4) __init__, __add__, __sub__, __rshift__, __str__
С помощью каких функций модуля re можно получить все строки, соответствующие заданному регулярному выражению r, в порядке их вхождения в строку s?
(1) re.findall(r, s)
(2) re.finditer(r, s)
(3) re.search(r, s)