Сборник тестов по основам Python
На странице представлены тесты на знание базовых теоретических основ Python. Желательно проходить их по ходу чтения учебника перед решением задач соответствующей темы.
На данный момент в сборнике представлено более 230 тестов по Питону с ответами и пояснениями в сложных случаях. Однако не забывайте, что нужно стараться получать верный результат самостоятельно. Если же количество неверных ответов по текущей теме достаточно велико, следует пройти тесты повторно.
- Введение в Пайтон
- Числа и математические выражения
- Текстовые строки
- Списки
- Кортежи
- Словари
- Множества
- Логический тип
- Приведение типов
- Инструкции присваивания
- Условная инструкция if/elif/else
- Циклы for и while
- Итерации и генераторы
- Функции
- ООП: классы и объекты
- Импорт, модули и пакеты
- Обработка исключений
Введение в Пайтон
Теоретический материал по теме можно почитать во втором и третьем параграфах нашего учебника здесь и здесь.
1.1. Выберите верные утверждения о языке программирования Python.
Варианты ответов: а) высокоуровневый, б) низкоуровневый, в) интерпретируемый, г) компилируемый. Показать решение.
Ответ. а) высокоуровневый, в) интерпретируемый.
1.2. Обязательно ли в Пайтоне объявлять тип переменной?
Варианты ответов: а) по желанию программиста, б) обязательно, в) зависит от ситуации, г) объявлять тип не нужно. Показать решение.
1.3. Какие из представленных фрагментов кода являются литералами?
Варианты ответов: а) '#', б) 0.77, в) 5**2, г) b = [1, 2]. Показать решение.
1.4. Какие из предлагаемых имен допустимы в Python?
Варианты ответов: а) s_5, б) _5s, в) 5_s, г) Щ5. Показать решение.
1.5. Как будет выглядеть имя переменной в верблюжьей нотации при использовании фразы «show must go on»?
Варианты ответов: а) ShowMustGoOn, б) show_must_go_on, в) showMustGoOn, г) SHOW_MUST_GO_ON. Показать решение.
1.6. Что по умолчанию служит концом инструкции в Python?
Варианты ответов: а) конец строки, б) запятая, в) точка, г) точка с запятой. Показать решение.
1.7. Для выделения блоков кода одного уровня вложенности в Питоне используются...
Варианты ответов: а) круглые скобки, б) квадратные скобки, в) фигурные скобки, г) идентичные отступы. Показать решение.
1.8. Какие из представленных символов или их комбинаций используются в Python для комментирования кода?
Варианты ответов: а) #, б) //, в) <!-- -->, г) /* */. Показать решение.
1.9. Чем отличаются операторы = и ==?
Варианты ответов: а) операторы эквивалентны, б) оператор = менее точный, в) оператор = присваивает значения, а == сравнивает их, г) оператор == в Питоне не используется. Показать решение.
1.10. Как в Питоне записать выражение a не равно b?
Варианты ответов: а) a <> b, б) a != b, в) a is not b, г) a ≠ b. Показать решение.
1.11. Какой параметр надо изменить, чтобы встроенная функция print() вывела переданные ей аргументы в столбик?
Варианты ответов: а) end, б) sep, в) вывод в столбик невозможен, г) значения аргументов итак всегда выводятся с новой строки. Показать решение.
1.12. Данные какого типа возвращает встроенная функция input()?
Варианты ответов: а) логический тип, б) строка, в) целое число, г) вещественное число. Показать решение.
Тесты по числам
Теоретический материал по числам, математическим операциям и модулю math можно почитать в нашем учебнике здесь.
2.1. Какой тип данных в Python представляет целые числа?
Варианты ответов: а) complex, б) float, в) int, г) bool. Показать решение.
Ответ. в) int.
2.2. Какие из представленых литералов чисел относятся к типу float?
Варианты ответов: а) 1.7+4.3j, б) 5.0, в) 88, г) -.4? Показать решение.
2.3. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2.5, б) 2, в) 3, г) ошибка. Показать решение.
x = 5
y = 2
z = x//y
print(z)
2.4. Что будет выведено на экран в результате выполнения инструкции print(4 + 3.0)?
Варианты ответов: а) 7.0, б) 4 + 3.0, в) 7, г) ошибка. Показать решение.
2.5. Какое число будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2.5, б) 1, в) 0.1, г) ошибка. Показать решение.
x = 5
y = 2
z = x%y
print(z)
2.6. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 5, б) 0, в) 10, г) ошибка. Показать решение.
x = 5
x += x - x
print(x)
2.7. Выберите литералы чисел, представленные в шестнадцатеричной системе счисления.
Варианты ответов: а) 0X755, б) 16755, в) 0x1101, г) 0o1675. Показать решение.
2.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 9.0, б) 9, в) 6.0 + 3, г) ошибка. Показать решение.
x = 3
y = 3.0
z = '3'
print(x + y + z)
2.9. Какой оператор используется для получения остатка от деления в Python?
Варианты ответов: а) /, б) //, в) **, г) %. Показать решение.
2.10. Что будет выведено на экран в результате выполнения инструкции print(5**(5 - 2))?
Варианты ответов: а) 15, б) 125, в) 45.0, г) ошибка. Показать решение.
2.11. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 9.4, б) 9.35, в) 9.15, г) 9.45. Показать решение.
x = round(3.153, 2)
y = round(6.25)
print(x + y)
2.12. Какая из встроенных функций Python может быть использована для нахождения модуля числа?
Варианты ответов: а) round, б) abs, в) divmod, г) pow. Показать решение.
2.13. Выберите допустимые записи вещественного числа 0.135 в исходном коде.
Варианты ответов: а) 135E-1, б) 1.35e-1, в) .135, г) 1.35-e1. Показать решение.
Тесты по строкам
Теоретический материал по строкам можно почитать в нашем учебнике здесь.
Не забываем, что строки относятся к неизменяемому типу данных, поэтому изменить их непосредственно не получится. Но всегда можно получить измененную копию строки и заменить ею хранящуюся в переменной исходную строку.
3.1. Посчитайте количество литералов строк среди предложенных: '-23.5', '2 + 3', "яблоко", ['груша'], "[5, 7]".
Варианты ответов: а) 2, б) 3, в) 4, г) 5. Показать решение.
Ответ. в) 4.
'-23.5' и '2 + 3' – строки в одинарных кавычках, "яблоко" и "[5, 7]" – строки в двойных кавычках.
3.2. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 7 + 3, б) 10, в) 73, г) ошибка. Показать решение.
x = '7'
y = '3'
z = x + y
print(z)
3.3. Какой из операторов используется для повторения строки в Python?
Варианты ответов: а) +, б) *, в) /, г) %. Показать решение.
3.4. Какая последовательность символов представляет собой экранированную последовательность, соответствующую переводу строки?
Варианты ответов: а) \n, б) /n, в) \\n, г) //n. Показать решение.
3.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 55, б) 52, в) 25, г) ошибка. Показать решение.
x = '5'
y = '2'
z = x*int(y)
print(z)
3.6. Что будет выведено на экран в результате выполнения инструкции print("123456789"[5])?
Варианты ответов: а) 12345, б) 5, в) 6, г) ошибка. Показать решение.
3.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 33, б) 6, в) 32, г) ошибка. Показать решение.
x = '3'
y = '2'
z = int(x*y)
print(z)
3.8. Какой из методов используется для преобразования строки в верхний регистр?
Варианты ответов: а) upper(), б) capitalize(), в) lower(), г) title(). Показать решение.
3.9. Что будет выведено на экран в результате выполнения инструкции print("123456789"[:5])?
Варианты ответов: а) 12345, б) 5, в) 6, г) ошибка. Показать решение.
3.10. Что выведет на экран инструкция print('okpython.net\')?
Варианты ответов: а) okpython.net, б) okpython.net\, в) okpython.net\', г) ошибка. Показать решение.
3.11. Какой из методов используется для соединения подстрок в одну строку по заданному разделителю?
Варианты ответов: а) split(), б) join(), в) replace(), г) strip(). Показать решение.
3.12. Дана строка s = "012345". Перечислите инструкции, которые выведут на экран 3.
Варианты ответов: а) print(s[3]), б) print(s[-3]), в) print(s[3::3]), г) все предыдущие варианты. Показать решение.
3.13. Что будет выведено на экран в результате выполнения инструкции print('Гостиница 'Орбита', 3 звезды.')?
Варианты ответов: а) Гостиница Орбита, 3 звезды., б) Гостиница 'Орбита', 3 звезды., в) 'Гостиница 'Орбита', 3 звезды.', г) ошибка. Показать решение.
3.14. Что возвращает функция len() при передаче в неё строки?
Варианты ответов: а) количество слов, б) количество символов, в) количество байт, г) ошибка. Показать решение.
3.15. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) ccc, б) bbb, в) ничего, г) ошибка. Показать решение.
s = 'abc'*3
s = s[2] + s[5]
s += s[8]
print(s)
3.16. Какой из методов используется для удаления пробельных символов с начала и конца строки?
Варианты ответов: а) lstrip(), б) rstrip(), в) strip(), г) все предыдущие варианты. Показать решение.
3.17. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 6, б) 7, в) 8, г) 9. Показать решение.
s = 'bc abc aabc'
s = s.replace('a', 'bc')
s = s.replace('bc', '1')
print(len(s))
3.18. Как проверить, является ли некоторая строка s допустимым в Питоне идентификатором?
Варианты ответов: а) s is identifier, б) isidentifier(s), в) s.isidentifier, г) s.isidentifier(). Показать решение.
3.19. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 'холливуд', б) 'голливуд', в) ничего, г) ошибка. Показать решение.
s_1 = 'холливуд'
s_2 = s_1
s_2[0] = 'г'
print(s_1)
3.20. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) x + y = 12, б) x + 7 = 12, в) x + y = x + y, г) ошибка. Показать решение.
x = 5; y = 7
print(f'x + {y} = {x + y}')
Тесты по спискам
Теоретический материал по спискам можно почитать в нашем учебнике здесь.
Не забываем, что списки, в отличие от строк и кортежей, мы можем изменять непосредственно.
4.1. Какие из представленых литералов относятся к типу list?
Варианты ответов: а) ['1', '2', '3'], б) '[1, 2, 3]', в) [(1, 2, 3)], г) ([1], [2], [3]). Показать решение.
Ответ. а) ['1', '2', '3'], в) [(1, 2, 3)].
['1', '2', '3'] – список из трех строковых элементов, а [(1, 2, 3)] – список из одного элемента в виде кортежа.
4.2. Как в Пайтоне создать пустой список?
Варианты ответов: а) li = [], б) li = None, в) li = 0, г) li = list(). Показать решение.
4.3. Выберите верные утверждения о списках.
Варианты ответов: а) неизменяемые, б) упорядоченные, в) последовательности, г) изменяемые. Показать решение.
4.4. Какие объекты можно хранить в списках?
Варианты ответов: а) только числа и строки, б) только неизменяемые объекты, в) любые, кроме объектов функций, г) любые. Показать решение.
4.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [3], б) [1, 1, 1], в) [1, 1, 1, 1], г) ошибка. Показать решение.
li = [1]
li += li*3
print(li)
4.6. Что будет выведено на экран в результате выполнения инструкции print([1, 2, 3, 4, 5, 6][-4])?
Варианты ответов: а) 1, б) 2, в) 3, г) ошибка. Показать решение.
4.7. Что будет выведено на экран в результате выполнения инструкции print([1, 2, 3, 4, 5, 6][:-4])?
Варианты ответов: а) [1, 2], б) 3, в) [3], г) ошибка. Показать решение.
4.8. Что задает третий параметр в срезе списка?
Варианты ответов: а) шаг среза, б) начало среза, в) конец среза, г) в срезах не указывают третий параметр. Показать решение.
4.9. Что будет выведено на экран в результате выполнения инструкции print([1, 2, 3, 4, 5, 6][::-4])?
Варианты ответов: а) 3, б) [6, 3], в) [6, 2], г) ошибка. Показать решение.
4.10. Как добавить элемент elem в конец списка li?
Варианты ответов: а) li.append(elem), б) li.insert(len(li), elem), в) li.extend([elem]), г) li += [elem]. Показать решение.
4.11. Что будет выведено на экран в результате выполнения инструкции print(['a', 'b', 'cd', 'e', 'f'][3])?
Варианты ответов: а) d, б) e, в) cd, г) c. Показать решение.
4.12. Как удалить из списка li элемент elem по его индексу i?
Варианты ответов: а) li.pop(i), б) del li[i], в) li.remove(elem), г) li.clear(). Показать решение.
4.13. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [1, 2, 3, 4, 5], б) [1, 2, 4, 5], в) [1, 3, 4, 5], г) ошибка. Показать решение.
li = [1, 2, 3, 4, 5]
li = li[0:2] + li[3:]
print(li)
4.14. Дан список li = ['a', 'b', 'cd', 'e', 'f']. Какие инструкции выведут на экран символ d.
Варианты ответов: а) print(li[2][1]), б) print(li[2][2]), в) print(li[3]), г) print(li[-3][1]). Показать решение.
4.15. Как в Пайтоне объединить два списка в один?
Варианты ответов: а) li_1.join(li_2), б) li_1 + li_2, в) li_1.extend(li_2), г) li_1.append(li_2). Показать решение.
4.16. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) True, б) None, в) False, г) ошибка. Показать решение.
li = ['a', 'b', ['cd'], 'e', 'f']
ans = 'cd' in li
print(ans)
4.17. Как в Питоне обратить порядок элементов в списке?
Варианты ответов: а) li.reverse(), б) li = li[::-1], в) reverse(li), г) никак. Показать решение.
4.18. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) ['теплое', 'море'], б) ['холодное', 'море'], в) ['холодное', 'теплое', 'море'], г) ошибка. Показать решение.
li_1 = ['теплое', 'море']
li_2 = li_1
li_2[0] = 'холодное'
print(li_1)
4.19. Как добавить любой элемент x в конец списка li, используя срез?
Варианты ответов: а) li[len(li):] = [x], б) li[len(li):] = x, в) li[-1:] = [x], г) li[-1:] = x. Показать решение.
4.20. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [1, 2, 3], б) [1, 2, 3, 'abc'], в) [1, 2, 3, 'a', 'b', 'c'], г) ошибка. Показать решение.
li = [1, 2, 3]
li.extend('abc')
print(li)
4.21. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) ['a', 'b'], б) ['a', 'b', 'cd'], в) ['a', 'b', 'c', 'd'], г) ошибка. Показать решение.
li = ['a', 'b']
li += 'cd'
print(li)
Тесты по кортежам
Теоретический материал по кортежам можно почитать в нашем учебнике здесь.
Не забываем, что кортежи относятся к неизменяемому типу данных, поэтому изменить их непосредственно не получится. Но всегда можно получить измененную копию кортежа и заменить ею хранящийся в переменной исходный кортеж.
5.1. Какой тип данных в Python представляет кортежи?
Варианты ответов: а) dict, б) list, в) tuple, г) set. Показать решение.
Ответ. в) tuple.
dict – словарь, list – список, set – множество.
5.2. Выберите верные утверждения о кортежах.
Варианты ответов: а) неизменяемые, б) изменяемые, в) неупорядоченые, г) упорядоченые. Показать решение.
5.3. Какие из представленых литералов относятся к кортежам?
Варианты ответов: а) (1,), б) '(1, 2, 3)', в) ([1, 2, 3]), г) ("Питон"). Показать решение.
5.4. Как в Python создать пустой кортеж?
Варианты ответов: а) tpl = (), б) tpl = {}, в) tpl = tuple(), г) tpl = tuple(0). Показать решение.
5.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (3,), б) (1, 1, 1), в) (1, 1, 1, 1), г) ошибка. Показать решение.
t = (1,)
t += t*3
del t[0]
print(t)
5.6. Как удалить из кортежа tpl элемент elem с индексом i?
Варианты ответов: а) tpl.pop(i), б) del tpl[i], в) tpl.remove(elem), г) никак. Показать решение.
5.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (1,), б) (1, [2]), в) (1, [3]), г) ошибка. Показать решение.
tpl = (1, [2, 3])
del tpl[1][1]
print(tpl)
5.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 0----, б) 76543, в) 10987, г) ----. Показать решение.
tpl = (1, 2, ('-3-4-5-6', '-7-8-9-10'))
print(tpl[2][1][-1::-2])
Тесты по словарям
Теоретический материал по словарям можно почитать в нашем учебнике здесь.
6.1. Какой тип данных в Python представляет словари?
Варианты ответов: а) dict, б) list, в) tuple, г) set. Показать решение.
Ответ. а) dict.
list – список, tuple – кортеж, set – множество.
6.2. Какие из утверждений о словарях верны?
Варианты ответов: а) изменяемые, б) неизменяемые, в) доступ к элементам по индексу, г) доступ к элементам по ключу. Показать решение.
6.3. Какие из представленых литералов относятся к словарям?
Варианты ответов: а) {'красный', 'синий'}, б) {1: 'Январь', 2: 'Февраль'}, в) ({'name': 'Оля'}, {'age': 18}), г) {'list': [1, 2, 3]}. Показать решение.
6.4. Как в Питоне создать пустой словарь?
Варианты ответов: а) d = dict(), б) d = (), в) d = {}, г) d = []. Показать решение.
6.5. Выберите верные способы создания словаря с двумя элементами.
Варианты ответов: а) d = dict(name='Eva', age=33), б) d = dict(('name', 'Eva'), ('age', 33)), в) d = dict('name'='Eva', 'age'=33), г) d = dict((name, 'Eva'), (age, 33)). Показать решение.
6.6. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2, б) 3, в) 4, г) ошибка. Показать решение.
d = {1: 'a', '2': ['b', {'c': 3}], (5, '6'): ('f', 'g')}
print(len(d))
6.7. Какие из представленых литералов могут быть использованы в качестве ключей словаря?
Варианты ответов: а) (1,), б) [2,], в) '3', г) -.4. Показать решение.
6.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {1, 1, 1}, б) {'1', '1', '1'}, в) {1: '1', 1: '1', 1: '1'}, г) ошибка. Показать решение.
d = {1: '1'}
d += d*2
print(d)
6.9. Как получить значение из словаря d по ключу key?
Варианты ответов: а) d.value(key), б) d[key], в) d.get(key), г) d.setdefault(key). Показать решение.
6.10. Как удалить значение из словаря d по ключу key?
Варианты ответов: а) del d[key], б) d.pop(key), в) d.remove(key), г) никак. Показать решение.
6.11. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {1: 'one', 2: 'два', 3: 'три'}, б) {}, в) {1: 'один', 2: 'два', 3: 'три'}, г) ошибка. Показать решение.
d = {1: 'one'}
d.update([(1, 'один'), (2, 'два')])
d[3] = 'три'
print(d)
6.12. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) ['a', 'b'], б) ['a', 'b', 'c'], в) dict_keys(['a', 'b']), г) ошибка. Показать решение.
d = {'a': 1, 'b': 2, 'c': 3}
k = d.keys()
del d['c']
print(list(k))
Тесты по множествам
Теоретический материал по множествам можно почитать в нашем учебнике здесь.
7.1. Какой тип данных в Питоне представляет множества?
Варианты ответов: а) tuple, б) list, в) dict, г) set. Показать решение.
Ответ. г) set.
7.2. Какие из утверждений о множествах верны?
Варианты ответов: а) коллекции неизменяемых объектов, б) изменяемые коллекции объектов, в) неупорядоченные коллекции объектов, г) упорядоченные коллекции объектов. Показать решение.
7.3. Какие из представленых литералов относятся к типу set?
Варианты ответов: а) {'кот', "ток"}, б) "{1, 2, 3}", в) {[], (), {}, ''}, г) [{'set': {1, 2, 3}}]. Показать решение.
7.4. Как создать пустое множество в Пайтоне?
Варианты ответов: а) st = (), б) st = set(), в) st = [], г) st = {}. Показать решение.
7.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {3}, б) {1, 1, 1}, в) {1, 1, 1, 1}, г) ошибка. Показать решение.
st = {1}
st += st*3
print(st)
7.6. Даны два множества {'a', 'b', 'c'} и {'b', 'c', 'd'}. Какое из множеств является их пересечением?
Варианты ответов: а) {'a', 'b'}, б) {'b', 'c'}, в) {'c', 'd'}, г) {}. Показать решение.
7.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {'о', 'н', 'л', 'а', 'я'}, б) {'о'}, в) {'н', 'а'}, г) ошибка. Показать решение.
st_1 = {'о', 'н', 'а'}
st_2 = {'о', 'л', 'я'}
print(st_1 | st_2)
7.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {1, 2, 3}, б) {(2, 3), 1}, в) {2, 3}, г) ошибка. Показать решение.
st = set()
st.add(1)
st.add((2, 3))
print(st)
7.9. Как удалить элемент elem из множества st?
Варианты ответов: а) st.remove(elem), б) st.discard(elem), в) st.pop(elem), г) никак. Показать решение.
7.10. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {1, 2, 3, 4}, б) {(1, 2), [3, 4]}, в) [3, 4], г) ошибка. Показать решение.
st = set()
st.add((1, 2))
st.add([3, 4])
print(st)
7.11. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {'1', '2'}, б) {}, в) {1, 2, '1', '2'}, г) ошибка. Показать решение.
fst = frozenset({1, 2})
fst.clear()
fst.add('1', '2')
print(fst)
7.12. С помощью какой функции можно отсортировать элементы множества?
Варианты ответов: а) метод sort(), б) встроенная функция sorted(), в) пользовательская функция, г) такой функции нет. Показать решение.
7.13. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {1, 2, 3}, б) True, в) None, г) ошибка. Показать решение.
st_1 = {1, 2}
st_2 = st_1.add(3)
print(st_2)
Тесты по логическому типу
Теоретический материал по логическому типу данных можно почитать в нашем учебнике здесь.
8.1. Какой тип данных в Пайтоне представляет логические значения?
Варианты ответов: а) NoneType, б) bool, в) float, г) int. Показать решение.
Ответ. б) bool.
NoneType – тип NoneType, float – вещественные числа, int – целые числа.
8.2. Выберите верные варианты написания имен булевых констант.
Варианты ответов: а) TRUE, б) True, в) false, г) False. Показать решение.
8.3. Какое значение будет иметь выражение True and False?
Варианты ответов: а) True, б) False, в) None, г) ошибка. Показать решение.
8.4. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1, б) 10, в) 11, г) ошибка. Показать решение.
x = 10
res = True + x*False
print(res)
8.5. Какой оператор позволяет проверить одновременное выполнение сразу нескольких условий?
Варианты ответов: а) and, б) or, в) not, г) is. Показать решение.
8.6. Что выведет на экран инструкция print(False < (7 <= 10))?
Варианты ответов: а) None, б) True, в) False, г) ошибка. Показать решение.
8.7. Что выведет на экран инструкция print(11 > 0 is True)?
Варианты ответов: а) None, б) True, в) False, г) ошибка. Показать решение.
8.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3 or три, б) 3, в) три, г) True. Показать решение.
x = 3
y = 'три'
print(x or y)
8.9. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) Ok!, б) not True or foo(), в) ничего, г) ошибка. Показать решение.
def foo(): print('Ok!')
not True or foo()
Тесты на приведение типов
Теоретический материал по приведению типов можно почитать в нашем учебнике здесь.
9.1. Каким будет результат преобразования типа для инструкции bool(-1)?
Варианты ответов: а) False, б) True, в) None, г) 1. Показать решение.
Ответ. б) True.
Среди чисел только нулевые значения преобразуются в False.
9.2. Каким будет результат преобразования типа для инструкции str([1, '2', 3])?
Варианты ответов: а) [1, '2', 3], б) "1, '2', 3", в) "[1, '2', 3]", г) ['1', '2', '3']. Показать решение.
9.3. Каким будет результат преобразования типа для инструкции float('-42 ')?
Варианты ответов: а) -42, б) -42.0, в) -4.2e-1, г) ошибка. Показать решение.
9.4. Каким будет результат преобразования типа для инструкции bool(' False ')?
Варианты ответов: а) False, б) 'False', в) True, г) ошибка. Показать решение.
9.5. Каким будет результат преобразования типа для инструкции tuple(" hello ")?
Варианты ответов: а) (' ', 'h', 'e', 'l', 'l', 'o', ' '), б) ('h', 'e', 'l', 'l', 'o'), в) (" hello ",), г) (" hello "). Показать решение.
9.6. Каким будет результат преобразования типа для инструкции set([1, 2, 3, 3])?
Варианты ответов: а) {1, 2, 3, 3}, б) {1, 2, 3}, в) [1, 2, 3, 3], г) [1, 2, 3]. Показать решение.
9.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2.0, б) 2, в) 0.0, г) 0. Показать решение.
res = int(True) + float(True)
print(res)
9.8. Каким будет результат преобразования типа для инструкции int(-0.319e2)?
Варианты ответов: а) 0, б) -3, в) -31, г) ошибка. Показать решение.
9.9. Каким будет результат преобразования типа для инструкции list({'a': 1, 'b': 2, 'c': 3})?
Варианты ответов: а) ['a', 'b', 'c'], б) [1, 2, 3], в) [('a', 1), ('b', 2), ('c', 3)], г) ошибка. Показать решение.
9.10. Каким будет результат преобразования типа для инструкции dict(['a', 'b'])?
Варианты ответов: а) {'a': None, 'b': None}, б) {'a': False, 'b': False}, в) {'a': True, 'b': True}, г) ошибка. Показать решение.
Тесты по инструкции присваивания
Теоретический материал по инструкциям присваивания можно почитать в нашем учебнике здесь.
10.1. Какой из представленных вариантов соответствует позиционной инструкции присваивания?
Варианты ответов: а) b = [1, 2], б) a += [1, 2], в) a = b = [1, 2], г) a, b = [1, 2]. Показать решение.
Ответ. г) a, b = [1, 2].
Позиционное присваивание связывает объекты последовательностей справа от оператора присваивания с именами, перечисляемыми слева от него. При этом присваивание выполняется слева направо согласно местоположениям имен и соответствующих им объектов.
10.2. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) 20, в) 30, г) ошибка. Показать решение.
x = 10
y = x
x = 20
print(y)
10.3. Какой оператор используется для присваивания значения переменной внутри выражения?
Варианты ответов: а) =, б) ==, в) :=, г) +=. Показать решение.
10.4. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) [1, 2, 3], в) [10, 2, 3], г) ошибка. Показать решение.
a = [1, 2, 3]
b = a
a[0] = 10
print(b)
10.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (1, 2), б) (2, 1), в) (4, 3), г) (3, 4). Показать решение.
x = (1, 2)
y = (3, 4)
x, y = y, x
print(x)
10.6. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [1, 2], б) [10, 2], в) [], г) ошибка. Показать решение.
x = [1, 2]
y = x[:]
x[0] = 10
print(y)
10.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3, б) 6, в) 7, г) ошибка. Показать решение.
a, b, *c = [1, 2, 3, 4, 5]
a += b + c[1]
print(a)
10.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {1, 2}, {1, 2}, {1, 2}, б) {1}, {2}, {}, в) {1}, {1, 2}, {}, г) ошибка. Показать решение.
a = b = c = set()
a |= {1}
b |= {2}
print(a, b, c, sep=', ')
10.9. Какие из представленных фрагментов кода содержат ошибки?
Варианты ответов: а) x, y = [3, '3'], б) x, *y = 1, 2, 3, в) *x, = 1, 2, 3, г) x, *y, *z = 1, 2, 3, 4. Показать решение.
Тесты по условной инструкции
Теоретический материал по условной инструкции можно почитать в нашем учебнике здесь.
11.1. Какие из частей условной инструкции не являются обязательными?
Варианты ответов: а) if, б) elif, в) else, г) все части необязательны. Показать решение.
Ответ. б) elif, в) else.
Блоков elif может быть как несколько, так и вообще ниодного. Блок else может отсутствовать, но если он используется, то только один.
11.2. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) a>b, б) a>=b, в) a<b, г) a<=b. Показать решение.
a, b = 5, 10
if a>b:
print("a>b")
else:
print("a<=b")
11.3. Какой из представленных вариантов можно отнести к верному формату представления условной инструкции?
Варианты ответов: а) if/elseif/else, б) if/elif/else, в) if/else/elif, г) A = Y if X else Z. Показать решение.
11.4. Сколько условий допускается для проверки внутри одной условной конструкции?
Варианты ответов: а) 1, б) 2, в) не более 100, г) любое количество. Показать решение.
11.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1-й разряд, б) 2-й разряд, в) 3-й разряд, г) не присваивается. Показать решение.
очки = 73
if очки >= 90:
разряд = "1-й разряд"
elif очки >= 80:
разряд = "2-й разряд"
elif очки >= 70:
разряд = "3-й разряд"
else:
разряд = "не присваивается"
print(разряд)
11.6. Какой из предлагаемых операторов можно использовать для инвертирования условия в инструкции if?
Варианты ответов: а) and, б) or, в) not, г) is. Показать решение.
11.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1, б) 2, в) 3, г) ошибка. Показать решение.
res = 0
if []: res += 1
if False: res += 1
if not None: res += 1
if -1: res += 1
print(res)
11.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) None, б) True, в) False, г) ошибка. Показать решение.
s = ''
if s:
if 'a' in s:
res = True
else:
res = False
else:
res = None
print(res)
11.9. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) -8, б) -2, в) 2, г) ошибка. Показать решение.
x, y = -5, -3
res = (-1*x if x<0 else x) + y
print(res)
Тесты по циклам for и while
Теоретический материал по циклам можно почитать в нашем учебнике здесь.
12.1. Какие из представленных операторов представляют циклы в Питоне?
Варианты ответов: а) if, б) while, в) switch, г) for. Показать решение.
Ответ. б) while, г) for.
switch в Питоне вообще отсутствует.
12.2. Какой из следующих вариантов можно использовать для организации бесконечного цикла?
Варианты ответов: а) while True:, б) while 1:, в) for i in range(inf):, г) все вышеуказанные. Показать решение.
12.3. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3, б) (3), в) 1 2 3 , г) ошибка. Показать решение.
for i in (3):
print(i, end=' ')
12.4. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) -1 -2 -3, б) 0 -1 -2 -3, в) -1 -2 -3, г) 0 -1 -2. Показать решение.
for i in range(3):
print(-i, end=' ')
12.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 0 1 2 3 4 5, б) 1 2 3 4 5, в) a b c d e f, г) ошибка. Показать решение.
li = ['12345', 'abcdef']
for elem in li[0]:
print(elem, end=' ')
12.6. Какой из следующих операторов предназначен для прерывания цикла?
Варианты ответов: а) pass, б) continue, в) break, г) else. Показать решение.
12.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) a (b, c) d (e, f), б) a ('b', 'c') d ('e', 'f'), в) a [b, c] d [e, f], г) a ['b', 'c'] d ['e', 'f']. Показать решение.
d = [('a', 'b', 'c'), ('d', 'e', 'f')]
for x, *y in d:
print(x, y, end=' ')
12.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1 2 3, б) 1 2 3 4, в) 1 2 3 4 5, г) ошибка. Показать решение.
k = 1
while k <= 5:
if k > 3: break
print(k, end=' ')
k += 1
12.9. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1 2 3 4 5, б) 0 1 2, в) 0 1 2 3, г) 0 1 2 4 5. Показать решение.
k = 0
while True:
if k > 5: break
if k == 3:
k += 1
continue
print(k, end=' ')
k += 1
12.10. Какой из следующих операторов можно использовать для выполнения блока кода после завершения цикла?
Варианты ответов: а) pass, б) continue, в) break, г) else. Показать решение.
12.11. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2 1 0, б) 3 2 1 0, в) 3 2 1 0 0, г) ошибка. Показать решение.
k = 4
while k:
k -= 1
print(k, end=' ')
if k>2: continue
else:
print(0)
12.12. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2 1 2 1, б) 2 1 2 1 2 1, в) ничего, г) ошибка. Показать решение.
k = 1
while True:
for n in range(2, 0, -1):
print(n, end=' ')
k += 1
if k == 3: break
12.13. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2 1 2 1, б) 2 1 2 1 2 1, в) ничего, г) ошибка. Показать решение.
k = 1
while True:
for n in range(2, 0, -1):
print(n, end=' ')
if k == 3: break
k += 1
Тесты на итерации и генераторы
Теоретический материал по итерациям и генераторам можно почитать в нашем учебнике здесь.
13.1. Какие из предложенных вариантов объектов относятся к итерируемым?
Варианты ответов: а) 'abc', б) (25,), в) 321, г) {'a': 1}. Показать решение.
Ответ. а) 'abc', б) (25,), г) {'a': 1}.
Строки хотя и относятся к неизменяемому типу данных, но дают доступ к своим символам. А вот пройтись по цифрам числа напрямую не получится.
13.2. С помощью какой функции можно преобразовать итерируемый объект в итератор?
Варианты ответов: а) iter, б) next, в) list, г) никак. Показать решение.
13.3. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) b, б) cd, в) True, г) ошибка. Показать решение.
li = ['ab', 'cd', 'ef']
li_iter = iter(li)
next(li_iter)
print(next(li_iter))
13.4. Что произойдет, если попытаться получить элемент из итератора, который исчерпал все свои элементы?
Варианты ответов: а) будет возвращено None, б) будет возвращен пустой кортеж, в) будет брошено исключение StopIteration, г) будет возвращено False. Показать решение.
13.5. Какая из конструкций вернет готовый итератор?
Варианты ответов: а) {x for x in 'abc'}, б) (x for x in 'abc'), в) [x for x in 'abc'], г) {x: None for x in 'abc'}. Показать решение.
13.6. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2, б) 3, в) 4, г) ошибка. Показать решение.
g_1 = (x for x in range(2, 5))
g_2 = [x+1 for x in range(2, 5)]
res = next(g_1) + next(g_2)
print(res)
13.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 4, б) 3, в) 2, г) 1. Показать решение.
def f_2(n):
for i in range(1, n+1):
yield i
gen = f_2(30)
res = next(gen) + next(gen) + next(f_2(30))
print(res)
Тесты по функциям
Теоретический материал по функциям можно почитать в нашем учебнике здесь.
14.1. Какая инструкция используется в Python для определения функций?
Варианты ответов: а) df, б) def, в) dfn, г) define. Показать решение.
Ответ. б) def.
Остальные имена в Пайтоне отсутствуют вообще.
14.2. Что возвращает функция, в которой отсутствует инструкция return?
Варианты ответов: а) объект функции, б) None, в) False, г) ничего. Показать решение.
14.3. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) True, б) None, в) ничего, г) ошибка. Показать решение.
def my_func():
print(True)
my_func
14.4. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1 2, б) 2 1, в) 1, г) ошибка. Показать решение.
def my_func_1(): print(1, end=' ')
my_func_2()
def my_func_2(): print(2, end=' ')
my_func_1()
14.5. Какой из предлагаемых вариантов является допустимым способом передачи аргументов функции?
Варианты ответов: а) по порядку, б) по ключевому слову, в) по умолчанию, г) все вышеуказанные. Показать решение.
14.6. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 17, б) 16, в) 15, г) ошибка. Показать решение.
def f_1(a, b):
return a + b
def f_2(a, b=3, c=4):
return a + b + c
res = f_1(1, 2) + f_2(5, 5)
print(res)
14.7. Выберите верные варианты вызова функции, определяемой инструкцией def func(x, y, z): pass?
Варианты ответов: а) func(x, y=2, z=5), б) func(x=8, y, z), в) func(x=8, y=2, z), г) func(x, y, z=5). Показать решение.
14.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 14, б) 15, в) 16, г) ошибка. Показать решение.
def f_1(a, b=2):
return a + b
def f_2(a, b, c=3):
return a + b + c
res = f_1(b=1, 2) + f_2(3, 4, c=5)
print(res)
14.9. Какой из предложенных вариантов заголовка функции может использоваться для определения функции, принимающей переменное число аргументов?
Варианты ответов: а) def func_name(*args):, б) def func_name(**kwargs):, в) def func_name(*args, **kwargs):, г) все вышеуказанные. Показать решение.
14.10. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 6, б) [1, 2, 3], в) (1, 2, 3), г) ошибка. Показать решение.
def f_1(a, *b):
return a + b
print(f_1(1, 2, 3))
14.11. Выберите верные варианты вызова функции, определяемой инструкцией def func(x, *y, z): pass?
Варианты ответов: а) func(1, 2, 3), б) func(1, 2, z=3), в) func(1, z=3), г) func(z=3, 1, 2). Показать решение.
14.12. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (1,) {'x': 3, 'y': 4}, б) 1, 3, 4, в) (1, 3, 4), г) ошибка. Показать решение.
def func(*a, **b):
print(a, b)
func(1, x=3, y=4)
14.13. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) 20, в) 30, г) ошибка. Показать решение.
x = 10
def func():
global x
x = 20
func()
print(x)
14.14. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 20, б) 30, в) ничего, г) ошибка. Показать решение.
def func_1():
x = 20
def func_2():
nonlocal x
x = 30
print(x)
func_1()
14.15. Какой из предлагаемых операторов можно использовать для создания анонимной функции?
Варианты ответов: а) def, б) lambda, в) yield, г) все вышеуказанные. Показать решение.
14.16. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) 20, в) 30, г) ошибка. Показать решение.
x = 10
def func_1():
x = 20
def func_2():
global x
x = 30
func_2()
func_1()
print(x)
14.17. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 4, б) 4.0, в) None, г) ошибка. Показать решение.
ld = lambda x, y=5: x/y if y != 0 else None
print(ld(20))
14.18. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 9, б) 6.0, в) 9.0, г) ошибка. Показать решение.
ld = lambda x: if x>0: x**2
print(ld(3.0))
14.19. Какие функции в Питоне называют рекурсивными?
Варианты ответов: а) функция, которая вызывает саму себя внутри своего тела, б) функция, которая вызывает другую функцию внутри своего тела, в) функция, которая одновременно не имеет параметров и возвращаемого значения, г) рекурсивные функции в Пайтоне запрещены. Показать решение.
14.20. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 0, б) 25, в) 120, г) ошибка. Показать решение.
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n*factorial(n - 1)
print(factorial(5))
14.21. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3 + 5, б) 35, в) 3 + '''5''', г) ошибка. Показать решение.
def f(x):
'''5'''
return x
res = f('3') + f.__doc__
print(res)
Тесты по ООП
Теоретический материал по объектно-ориентированному программированию можно почитать в нашем учебнике здесь.
15.1. Что такое ООП?
Варианты ответов: а) операторно-ориентированное программирование, б) основы объектного программирования, в) оптимизационно-ориентированное программирование, г) объектно-ориентированное программирование. Показать решение.
Ответ. г) объектно-ориентированное программирование.
15.2. Как называется механизм ООП, который позволяет объединять данные и методы, работающие с этими данными, в единый объект, скрывая при этом детали реализации от пользователя?
Варианты ответов: а) полиморфизм, б) инкапсуляция, в) наследование, г) композиция. Показать решение.
15.3. Какое ключевое слово используется в Python для определения классов?
Варианты ответов: а) class, б) cls, в) object, г) obj. Показать решение.
15.4. Какой стиль именования классов рекомендуется в руководстве PEP 8 по оформлению кода на Python?
Варианты ответов: а) camelCase, б) CapWords, в) snake_case, г) ALL_CAPS. Показать решение.
15.5. Какой оператор используется для доступа к атрибуту объекта или класса в Python?
Варианты ответов: а) ->, б) ::, в) ., г) []. Показать решение.
15.6. Укажите специальный метод, который используется для инициализации исходными данными вновь создаваемых экземпляров класса.
Варианты ответов: а) __construct__, б) __new__, в) __init__, г) __start__. Показать решение.
15.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1, б) 2, в) 3, г) ошибка. Показать решение.
class Test:
def __init__(self, x=1):
self.x = x
t_1 = Test()
t_2 = Test(2)
print(t_1.x + t_2.x)
15.8. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 25, б) 30, в) 55, г) ошибка. Показать решение.
class Person:
def set_age(self, age):
self.age = age
ivan = Person(25)
ivan.set_age(30)
print(ivan.age)
15.9. Перечислите допустимые способы изменения значения атрибута объекта в Python.
Варианты ответов: а) obj.attr = value, б) setattr(obj, attr_name, value), в) obj.setattr(attr_name, value), г) все вышеперечисленные. Показать решение.
15.10. Укажите допустимые способы удаления атрибута объекта в Python.
Варианты ответов: а) del obj.attr, б) obj.del(attr_name), в) obj.delattr(attr_name), г) delattr(obj, attr_name). Показать решение.
15.11. Какой атрибут используется для получения словаря, содержащего атрибуты объекта или класса?
Варианты ответов: а) __attrs_, б) __items__, в) __dict__, г) __vars__. Показать решение.
15.12. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) {'name': 'ivan', 'age': 25}, б) {'age': 25}, в) {'name': 'ivan'}, г) ошибка. Показать решение.
class Person:
def set_age(self, age):
self.age = age
ivan = Person()
setattr(ivan, 'name', 'ivan')
ivan.set_age(25)
print(ivan.__dict__)
del ivan.age
15.13. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1 + 1, б) 2, в) ничего, г) ошибка. Показать решение.
class Test:
x = 1
t = Test()
print(Test.x + t.x)
15.14. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2, б) 4, в) 6, г) ошибка. Показать решение.
class Test:
x = 1
def __init__(self, x):
self.x = x
t = Test(3)
print(Test.x + t.x)
15.15. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2, б) 3, в) 4, г) ошибка. Показать решение.
class Test:
x = 1
t = Test()
t.x = 2
del t.x
print(Test.x + t.x)
15.16. Какой декоратор используется для определения метода класса и позволяет работать с атрибутами класса, а не с атрибутами объекта?
Варианты ответов: а) @staticmethod, б) @classmethod, в) @property, г) @operator. Показать решение.
15.17. Перечислите верные варианты вызова метода класса в Пайтоне.
Варианты ответов: а) obj.method(cls), б) Class.method(cls), в) obj.method(), г) Class.method(). Показать решение.
15.18. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 0, б) 1, в) 2, г) ошибка. Показать решение.
class Test:
@classmethod
def m_1(cls):
return (1 if 1>0 else 0)
obj = Test()
print(obj.m_1() + Test.m_1())
15.19. Перечислите верные варианты вызова статического метода в Python.
Варианты ответов: а) obj.method(), б) Class.method(), в) Class.method(obj), г) method(). Показать решение.
15.20. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1, б) 2, в) 3, г) ошибка. Показать решение.
class Test:
def m_1():
return (1 if 1>0 else 0)
@staticmethod
def m_2():
return (2 if 2>0 else 0)
obj = Test()
print(obj.m_1() + Test.m_2())
15.21. Как в Питоне принято обозначать атрибуты класса, предназначенные для внутреннего (служебного) использования?
Варианты ответов: а) _, б) __, в) @, г) никак. Показать решение.
15.22. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 5, б) False, в) None, г) ошибка. Показать решение.
class Test:
def __init__(self, x):
self._x = x
obj = Test(5)
print(obj._x)
15.23. Как в Питоне принято обозначать приватные атрибуты класса?
Варианты ответов: а) _, б) __, в) @, г) никак. Показать решение.
15.24. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 5, б) False, в) None, г) ошибка. Показать решение.
class Test:
def __init__(self, x):
self.__x = x
obj = Test(5)
print(obj.__x)
15.25. Какая из встроенных функций предназначена для создания управляемых атрибутов класса?
Варианты ответов: а) staticmethod, б) classmethod, в) property, г) setattr. Показать решение.
15.26. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3, б) 4, в) 5, г) ошибка. Показать решение.
class Test:
@property
def attr_x(self):
return self.__x
@attr_x.setter
def attr_x(self, x):
self.__x = 3
obj = Test()
obj.attr_x = 4
obj.attr_x += 1
print(obj.attr_x)
15.27. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 7, б) Атрибут удален!, в) ничего, г) ошибка. Показать решение.
class Test:
@property
def attr_x(self):
return self.__x
@attr_x.setter
def attr_x(self, x):
self.__x = x
@attr_x.deleter
def del_attr_x(self):
del self.__x
print('Атрибут удален!')
obj = Test()
obj.attr_x = 7
del obj.attr_x
15.28. Укажите верные варианты вызова метода method суперкласса A из его дочернего подкласса B.
Варианты ответов: а) super().method(), б) super(B, self).method(), в) super(A, self).method(), г) super(B, method). Показать решение.
15.29. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3, б) 4, в) 5, г) ошибка. Показать решение.
class A:
def m_s(self):
return 1
class B:
def m_s(self):
return 2
class C(B, A):
def m_sub(self):
return 3
obj = C()
print(obj.m_s() + obj.m_sub())
15.30. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2, б) 3, в) 4, г) ошибка. Показать решение.
class A:
def set_1(self):
self.__x = 1
return self.__x
class B:
def set_2(self):
self.__x = 2
return self.__x
class C(A, B): pass
obj = C()
print(obj.set_1() + obj.set_2())
15.31. Имена магических методов в Питоне выделяются следующим образом:
Варианты ответов: а) начинаются с одного символа подчеркивания, б) начинаются с двух символов подчеркивания, в) начинаются и заканчиваются одним символом подчеркивания, г) начинаются и заканчиваются двумя символами подчеркивания. Показать решение.
15.32. Разрешается ли наследование магических методов, а также их переопределение в подклассах?
Варианты ответов: а) не разрешается, б) разрешается, в) разрешается только наследование, г) разрешается только переопределение. Показать решение.
15.33. Какой магический метод отвечает за операцию сложения?
Варианты ответов: а) __sum__, б) __concat__, в) __add__, г) __plus__. Показать решение.
15.34. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3, б) 4, в) None, г) ошибка. Показать решение.
class N:
def __init__(self, n):
self._n = n
def __mul__(self, x):
return self._n + x
print(N(1)*3)
15.35. Какой базовый класс модуля abc стандартной библиотеки может быть использован для создания абстрактных классов в Python?
Варианты ответов: а) abc, б) __abc__, в) Abc, г) ABC. Показать решение.
15.36. Укажите верный декоратор модуля abc стандартной библиотеки, который может быть использован для создания абстрактных методов?
Варианты ответов: а) @abstractmethod, б) @abstract_method, в) @abstract, г) @ABSTRACT. Показать решение.
15.37. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) Питоша, б) False, в) None, г) ошибка. Показать решение.
from abc import ABC, abstractmethod
class Test(ABC):
@abstractmethod
def set_name(self, name):
self.name = name
obj = Test()
obj.set_name('Питоша')
print(obj.name)
15.38. Какой магический метод используется для определения деструктора?
Варианты ответов: а) __del__, б) __delete__, в) __destroy__, г) __remove__. Показать решение.
Тесты на импорт, модули и пакеты
Теоретический материал по импортированию, модулям и пакетам можно почитать в нашем учебнике здесь.
16.1. Какое ключевое слово используется для импорта модуля в Python?
Варианты ответов: а) import, б) include, в) load, г) require. Показать решение.
Ответ. а) import.
16.2. Как импортировать модуль module под другим именем (псевдонимом) name?
Варианты ответов: а) import module with name, б) import module as name, в) import module by name, г) никак. Показать решение.
16.3. Как импортировать из модуля module лишь одно конкретное имя (атрибут) name?
Варианты ответов: а) name import from module, б) import name from module, в) from module import name, г) никак. Показать решение.
16.4. Как импортировать из модуля module сразу все имена (атрибуты)?
Варианты ответов: а) import all from module, б) from module import all, в) from module import *, г) никак. Показать решение.
16.5. Что содержится в переменной sys.path?
Варианты ответов: а) кортеж строк с путями поиска модулей, б) список строк с путями поиска модулей, в) строка с путем к интерпретатору, г) строка с путем к текущему модулю. Показать решение.
16.6. Что представляют собой строки в файле *.pth?
Варианты ответов: а) абсолютные или относительные пути к каталогам и файлам, б) имена модулей или пакетов, в) инструкции импорта модулей или пакетов, г) комментарии с именами модулей или пакетов. Показать решение.
16.7. Как в Пайтон создать пакет модулей?
Варианты ответов: а) создать папку с любым именем и поместить в неё файлы модулей, б) создать папку с файлом __package__.py и поместить в неё файлы модулей, в) создать папку с файлом __main__.py и поместить в неё файлы модулей, г) создать папку с файлом __init__.py и поместить в неё файлы модулей. Показать решение.
16.8. С помощью какой инструкции можно импортировать модуль module из пакета package?
Варианты ответов: а) import package.module, б) import package/module, в) from package import module, г) все вышеперечисленные варианты. Показать решение.
16.9. Укажите верный вариант импортирования относительно пакета модуля foo, находящегося в том же пакете spam, что и текущий модуль?
Варианты ответов: а) import foo, б) import .foo, в) from . import foo, г) from ..spam import foo. Показать решение.
16.10. Пусть в некотором пакете расположены подпакеты spam и spam_2. Укажите верный вариант импортирования относительно пакета модуля foo, находящегося в каталоге spam, если текущий модуль расположен в каталоге spam_2.
Варианты ответов: а) from . import foo, б) from .. import foo, в) from .spam import foo, г) from ..spam import foo. Показать решение.
16.11. Как предотвратить импортирование некоторых имен из модуля module инструкцией from module import *?
Варианты ответов: а) начинать имена переменных, запрещенных к импорту инструкцией from module import *, символом нижнего подчеркивания, б) указать имена, разрешенные к импорту инструкцией from module import *, в списке __all__ на верхнем уровне модуля, в) указать имена, разрешенные к импорту инструкцией from module import *, в списке __all__ на верхнем уровне файла инициализации __init__.py пакета, г) запрет на импорт имен данной инструкцией в Пайтоне не предусмотрен. Показать решение.
16.12. Укажите верные варианты перезагрузки ранее импортированного модуля module.
Варианты ответов: а) импортировать и вызвать функцию reload(module), б) использовать метод module.reload(), в) повторно использовать инструкцию import module, г) перезагрузка модулей в Питоне запрещена. Показать решение.
16.13. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3.141592653589793, б) 3,14, в) None, г) ошибка. Показать решение.
from importlib import import_module
m = import_module(math)
print(round(m.pi, 2))
16.14. Какой атрибут хранит путь к файлу текущего модуля?
Варианты ответов: а) __name__, б) ____, в) __path__, г) __file__. Показать решение.
Тесты на обработку исключений
Теоретический материал по обработке исключений можно почитать в нашем учебнике здесь.
17.1. Какая составная инструкция используется в Python для обработки исключений?
Варианты ответов: а) if/elif/else, б) try/except/else/finally, в) for/in, г) with/as. Показать решение.
Ответ. б) try/except/else/finally.
17.2. В каком случае выполняется код блока else составной инструкции try/except/else/finally?
Варианты ответов: а) при отсутствии исключений в блоке try, б) при отсутствии блоков except, в) после выполнения инструкций одного из блоков except, г) всегда. Показать решение.
17.3. В каком случае выполняется код блока finally составной инструкции try/except/else/finally?
Варианты ответов: а) при отсутствии исключений в блоке try, б) при возникновении исключений в блоке try, в) при отсутствии блока else, г) всегда. Показать решение.
17.4. Перечислите верные форматы использования инструкции try.
Варианты ответов: а) try/except, б) try/else, в) try/finally, г) try/else/finally. Показать решение.
17.5. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) Все Ок?, б) Да, все ОК!, в) Нет, все плохо!, г) ничего. Показать решение.
try:
printt('Все Ок?')
except Exception as err:
print('Нет, все плохо!')
else:
print('Да, все ОК!')
finally:
pass
17.6. Имеется ли в Питоне возможность вызывать исключения принудительно?
Варианты ответов: а) использовать инструкцию assert, б) использовать инструкцию raise, в) использовать инструкцию try, г) такая возможность отсутствует. Показать решение.
17.7. Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) Деление на ноль!, б) 5, в) 5.0, г) ничего. Показать решение.
try:
res = 10/2
raise ZeroDivisionError
except Exception as err:
print('Деление на ноль!')
else:
print(res)