Тест на знание языка Python

1 / 15

Имеется кортеж вида T = (4, 2, 3). Какая из операций приведёт к тому, что имя T будет ссылаться на кортеж (1, 2, 3)?

Не верно!

Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но мож­но создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации: Т = (1,) + Т [1: ]. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.


Не верно!

Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но мож­но создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации: Т = (1,) + Т [1: ]. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.


Верно!

Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но мож­но создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации: Т = (1,) + Т [1: ]. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.


Не верно!

Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но мож­но создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации: Т = (1,) + Т [1: ]. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.


Для чего в Python используется встроенная функция enumerate()?

Не верно!

Часто в коде начинающих разработчиков на Python можно встретить объявление for-цикла в виде for i in range(len(numbers)), когда можно обойтись for num in numbers. Если в коде действительно необходим и сам элемент, и его индекс, используйте enumerate().


Верно!

Часто в коде начинающих разработчиков на Python можно встретить объявление for-цикла в виде for i in range(len(numbers)), когда можно обойтись for num in numbers. Если в коде действительно необходим и сам элемент, и его индекс, используйте enumerate().


Не верно!

Часто в коде начинающих разработчиков на Python можно встретить объявление for-цикла в виде for i in range(len(numbers)), когда можно обойтись for num in numbers. Если в коде действительно необходим и сам элемент, и его индекс, используйте enumerate().


Что выведет интерпретатор для следующей программы (версия Python 3.6+)?

 
def get_name_and_decades(name, age):
    print(f"My name is {name} and I'm {age / 10:.5f} decades old.")

get_name_and_decades("Leo", 31)
Не верно!

f-строки – удобный способ отображения информации в нужном формате. Здесь на место {name} подставляется переменная name, а на место {age / 10:.5f} переменная age, деленная на 10. В форматировании указано представление с 5 знаками после запятой.


Не верно!

f-строки – удобный способ отображения информации в нужном формате. Здесь на место {name} подставляется переменная name, а на место {age / 10:.5f} переменная age, деленная на 10. В форматировании указано представление с 5 знаками после запятой.


Не верно!

f-строки – удобный способ отображения информации в нужном формате. Здесь на место {name} подставляется переменная name, а на место {age / 10:.5f} переменная age, деленная на 10. В форматировании указано представление с 5 знаками после запятой.


Верно!

f-строки – удобный способ отображения информации в нужном формате. Здесь на место {name} подставляется переменная name, а на место {age / 10:.5f} переменная age, деленная на 10. В форматировании указано представление с 5 знаками после запятой.


Не верно!

f-строки – удобный способ отображения информации в нужном формате. Здесь на место {name} подставляется переменная name, а на место {age / 10:.5f} переменная age, деленная на 10. В форматировании указано представление с 5 знаками после запятой.


Необходимо собрать и вывести все уникальные слова из строки рекламного текста. Какой из перечисленных типов данных Python подходит лучше всего?

Не верно!

Множество (set) хранит только уникальные значения. Поэтому такой тип данных является лучшим кандидатом для решения указанной задачи – все повторяющиеся (неуникальные) значения будут отброшены.


Не верно!

Множество (set) хранит только уникальные значения. Поэтому такой тип данных является лучшим кандидатом для решения указанной задачи – все повторяющиеся (неуникальные) значения будут отброшены.


Верно!

Множество (set) хранит только уникальные значения. Поэтому такой тип данных является лучшим кандидатом для решения указанной задачи – все повторяющиеся (неуникальные) значения будут отброшены.


Не верно!

Множество (set) хранит только уникальные значения. Поэтому такой тип данных является лучшим кандидатом для решения указанной задачи – все повторяющиеся (неуникальные) значения будут отброшены.


Учёт зверей в зоопарке ведётся с помощью приведённого ниже списка словарей. Какая из строчек кода выведет структуру, отсортированную в порядке увеличения возрастов животных?

 
animals = [
    {'type': 'penguin', 'name': 'Stephanie', 'age': 8},
    {'type': 'elephant', 'name': 'Devon', 'age': 3},
    {'type': 'puma', 'name': 'Moe', 'age': 5},
]
Не верно!

У функции sorted есть необязательный аргумент key, позволяющий указать функцию, вызываемую перед сортировкой для каждого элемента. Для указанной задачи можно использовать лямбда-функцию вида lambda animal: animal['age']. Вместо animal можно использовать и просто x , это лишь обозначение передаваемого элемента. Для каждого элемента будет вызываться ключ 'age', и уже по его значению будет происходить сортировка элементов списка animals.


Не верно!

У функции sorted есть необязательный аргумент key, позволяющий указать функцию, вызываемую перед сортировкой для каждого элемента. Для указанной задачи можно использовать лямбда-функцию вида lambda animal: animal['age']. Вместо animal можно использовать и просто x , это лишь обозначение передаваемого элемента. Для каждого элемента будет вызываться ключ 'age', и уже по его значению будет происходить сортировка элементов списка animals.


Верно!

У функции sorted есть необязательный аргумент key, позволяющий указать функцию, вызываемую перед сортировкой для каждого элемента. Для указанной задачи можно использовать лямбда-функцию вида lambda animal: animal['age']. Вместо animal можно использовать и просто x , это лишь обозначение передаваемого элемента. Для каждого элемента будет вызываться ключ 'age', и уже по его значению будет происходить сортировка элементов списка animals.


Не верно!

У функции sorted есть необязательный аргумент key, позволяющий указать функцию, вызываемую перед сортировкой для каждого элемента. Для указанной задачи можно использовать лямбда-функцию вида lambda animal: animal['age']. Вместо animal можно использовать и просто x , это лишь обозначение передаваемого элемента. Для каждого элемента будет вызываться ключ 'age', и уже по его значению будет происходить сортировка элементов списка animals.


Какой результат выведет следующий код?

 
def f(a, *pargs, **kargs): print(a, pargs, kargs)
    f(1, 2, 3, x=4, y=5)
Не верно!

В этом примере используются операторы * и **, предназначенные для подде­ржки функций, которые принимают неизвестное заранее количество аргументов. Первый оператор (*) собирает в кортеж несопоставленные позиционные аргументы. Второй оператор (**) собирает словарь по ключевым аргументам. Поэтому правильный ответ: 1 (2, 3) {'x': 4, 'y': 5}.Так как инструкция имеет однострочный характер, отсутствие переноса строки не является ошибкой.


Верно!

В этом примере используются операторы * и **, предназначенные для подде­ржки функций, которые принимают неизвестное заранее количество аргументов. Первый оператор (*) собирает в кортеж несопоставленные позиционные аргументы. Второй оператор (**) собирает словарь по ключевым аргументам. Поэтому правильный ответ: 1 (2, 3) {'x': 4, 'y': 5}.Так как инструкция имеет однострочный характер, отсутствие переноса строки не является ошибкой.


Не верно!

В этом примере используются операторы * и **, предназначенные для подде­ржки функций, которые принимают неизвестное заранее количество аргументов. Первый оператор (*) собирает в кортеж несопоставленные позиционные аргументы. Второй оператор (**) собирает словарь по ключевым аргументам. Поэтому правильный ответ: 1 (2, 3) {'x': 4, 'y': 5}.Так как инструкция имеет однострочный характер, отсутствие переноса строки не является ошибкой.


Не верно!

В этом примере используются операторы * и **, предназначенные для подде­ржки функций, которые принимают неизвестное заранее количество аргументов. Первый оператор (*) собирает в кортеж несопоставленные позиционные аргументы. Второй оператор (**) собирает словарь по ключевым аргументам. Поэтому правильный ответ: 1 (2, 3) {'x': 4, 'y': 5}.Так как инструкция имеет однострочный характер, отсутствие переноса строки не является ошибкой.


Не верно!

В этом примере используются операторы * и **, предназначенные для подде­ржки функций, которые принимают неизвестное заранее количество аргументов. Первый оператор (*) собирает в кортеж несопоставленные позиционные аргументы. Второй оператор (**) собирает словарь по ключевым аргументам. Поэтому правильный ответ: 1 (2, 3) {'x': 4, 'y': 5}.Так как инструкция имеет однострочный характер, отсутствие переноса строки не является ошибкой.


Как вывести список методов и атрибутов объекта x?

Не верно!

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


Не верно!

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


Не верно!

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


Верно!

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


Как можно более кратко представить следующую запись?

 
if X:
    A = Y
else:
    A = Z
Не верно!

Здесь мы видим обычное тернарное выражение if/else, которое, например, часто встречается в генераторах. Правильным ответом является A = Y if X else Z.


Верно!

Здесь мы видим обычное тернарное выражение if/else, которое, например, часто встречается в генераторах. Правильным ответом является A = Y if X else Z.


Не верно!

Здесь мы видим обычное тернарное выражение if/else, которое, например, часто встречается в генераторах. Правильным ответом является A = Y if X else Z.


Не верно!

Здесь мы видим обычное тернарное выражение if/else, которое, например, часто встречается в генераторах. Правильным ответом является A = Y if X else Z.


Какая из перечисленных инструкций выполнится быстрее всего, если n = 10**6?

Не верно!

В круглых скобках (i for i in range(n)) «чистое» выражение-генератор. Оно не загружает в память коллекцию, поэтому присваивание происходит быстрее остальных случаев, ведь сами элементы последовательности не создаются. В остальных случаях происходит создание коллекций «на месте».


Не верно!

В круглых скобках (i for i in range(n)) «чистое» выражение-генератор. Оно не загружает в память коллекцию, поэтому присваивание происходит быстрее остальных случаев, ведь сами элементы последовательности не создаются. В остальных случаях происходит создание коллекций «на месте».


Верно!

В круглых скобках (i for i in range(n)) «чистое» выражение-генератор. Оно не загружает в память коллекцию, поэтому присваивание происходит быстрее остальных случаев, ведь сами элементы последовательности не создаются. В остальных случаях происходит создание коллекций «на месте».


Не верно!

В круглых скобках (i for i in range(n)) «чистое» выражение-генератор. Оно не загружает в память коллекцию, поэтому присваивание происходит быстрее остальных случаев, ведь сами элементы последовательности не создаются. В остальных случаях происходит создание коллекций «на месте».


⭐ Вопрос со звёздочкой. Что выведет на экран следующий код?

 
a, *b, c = [1, 2]
print(a, b, c)
Не верно!

Звёздочка соответствует оператору распаковки последовательности. Два числа присваиваются переменным, а оставшаяся часть последовательности (в данном случае пустой список) присваивается переменной со звёздочкой. Поэтому правильный ответ – 1 [] 2.


Не верно!

Звёздочка соответствует оператору распаковки последовательности. Два числа присваиваются переменным, а оставшаяся часть последовательности (в данном случае пустой список) присваивается переменной со звёздочкой. Поэтому правильный ответ – 1 [] 2.


Не верно!

Звёздочка соответствует оператору распаковки последовательности. Два числа присваиваются переменным, а оставшаяся часть последовательности (в данном случае пустой список) присваивается переменной со звёздочкой. Поэтому правильный ответ – 1 [] 2.


Верно!

Звёздочка соответствует оператору распаковки последовательности. Два числа присваиваются переменным, а оставшаяся часть последовательности (в данном случае пустой список) присваивается переменной со звёздочкой. Поэтому правильный ответ – 1 [] 2.


С помощью Python нужно записать данные в файл, но только в том случае, если файла ещё нет. Какой режим указать в инструкции open()?

Верно!

Режим 'r' используется для чтения, 'w' – для записи, проверку os.path.exists(), конечно, можно использовать, но уже есть простой способ с режимом  'x'. Если файл уже существует, будет вызвано исключение.


Не верно!

Режим 'r' используется для чтения, 'w' – для записи, проверку os.path.exists(), конечно, можно использовать, но уже есть простой способ с режимом  'x'. Если файл уже существует, будет вызвано исключение.


Не верно!

Режим 'r' используется для чтения, 'w' – для записи, проверку os.path.exists(), конечно, можно использовать, но уже есть простой способ с режимом  'x'. Если файл уже существует, будет вызвано исключение.


Не верно!

Режим 'r' используется для чтения, 'w' – для записи, проверку os.path.exists(), конечно, можно использовать, но уже есть простой способ с режимом  'x'. Если файл уже существует, будет вызвано исключение.


Для чего в пакетах модулей python в файле __init__.py служит список __all__?

Не верно!

В файлах __ init__ .ру списки __ all__ используются для определения, что экспортировать, ког­да каталог импортируется с помощью формы оператораfrom *. Для скрытия переменных их имена начинаются с одиночного подчеркивания.


Верно!

В файлах __ init__ .ру списки __ all__ используются для определения, что экспортировать, ког­да каталог импортируется с помощью формы оператораfrom *. Для скрытия переменных их имена начинаются с одиночного подчеркивания.


Не верно!

В файлах __ init__ .ру списки __ all__ используются для определения, что экспортировать, ког­да каталог импортируется с помощью формы оператораfrom *. Для скрытия переменных их имена начинаются с одиночного подчеркивания.


При объявлении класса с помощью оператора class что пишется в круглых скобках после имени класса?

Не верно!

В заголовке внутри круглых скобок после имени класса приводится список суперклассов, разделенных запятыми. Указание более одного суперкласса приводит к множественному наследованию.


Не верно!

В заголовке внутри круглых скобок после имени класса приводится список суперклассов, разделенных запятыми. Указание более одного суперкласса приводит к множественному наследованию.


Верно!

В заголовке внутри круглых скобок после имени класса приводится список суперклассов, разделенных запятыми. Указание более одного суперкласса приводит к множественному наследованию.


Не верно!

В заголовке внутри круглых скобок после имени класса приводится список суперклассов, разделенных запятыми. Указание более одного суперкласса приводит к множественному наследованию.


Какую роль в описании метода класса выполняет декоратор @property?

Не верно!

Декоратор @property. позволяет обращаться к методу экземпляра, как к атрибуту. То есть, к примеру, a.size, а не a.size(). При этом само значение метода size вычисляется, как метод класса.


Не верно!

Декоратор @property. позволяет обращаться к методу экземпляра, как к атрибуту. То есть, к примеру, a.size, а не a.size(). При этом само значение метода size вычисляется, как метод класса.


Верно!

Декоратор @property. позволяет обращаться к методу экземпляра, как к атрибуту. То есть, к примеру, a.size, а не a.size(). При этом само значение метода size вычисляется, как метод класса.


Что выведет следующий код?

 
try:
    raise IndexError
except IndexError:
    print('Получено исключение.')
else:
    print('Но в этом нет ничего страшного.')
Не верно!

Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.


Верно!

Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.


Не верно!

Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.


Не верно!

Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.


Не верно!

Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.


Далее
0 из 15

Поздравляем с прохождением теста! У вас уже есть некоторые знания о Python, но ещё есть куда расти. Отличное место, где можно подтянуть базу по языку и связать свои навыки с другими современными технологиями – наш сайт PythonTurbo.

Интересно, хочу посмотреть