Програмирование на языке питон. Какие характеристики можно отнести к языку программирования Python
Скачать 0.54 Mb.
|
Main Heading(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 у элемента (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) (2) (3) (4) Какие функции 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) программа содержит ошибку в цикле, где запускаются потоки Какой код порождает следующее расположение кнопок? (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) (2) (3) (4) Что такое tal в следующем фрагменте разметки? |