- Решения заданий по языку python для обучения с сайта www.pyobjects.ru (Yury Yurevich)
- Задачи на языке Python для обучения и собеседований.
- ИСТОЧНИК: http://pyobject.ru/blog/2010/02/04/python-quiz/ (доступ 08.05.2017)
"Меня периодически спрашивают о тестовых заданиях по Python-тематике. Я решил обобщить вопросы и написать их в одном месте. Я не использую эти вопросы и задания в собеседованиях, но использую при обучении."
- Как получить список всех атрибутов объект
- Как получить список всех публичных атрибутов объекта
- Как получить список методов объекта
- В какой "магической" переменной хранится содержимое help?
- Есть два кортежа, получить третий как конкатенацию первых двух
- Есть два кортежа, получить третий как объединение уникальных элементов первых двух кортежей
- Почему если в цикле меняется список, то используется for x in lst[:], что означает [:]?
- Есть два списка одинаковой длины, в одном ключи, в другом значения. Составить словарь.
- Есть два списка разной длины, в одном ключи, в другом значения. Составить словарь. Для ключей, для которых нет значений использовать None в качестве значения. Значения, для которых нет ключей игнорировать.
- Есть словарь. Инвертировать его. Т.е. пары ключ: значение поменять местами — значение: ключ.
- Есть строка в юникоде, получить 8-битную строку в кодировке utf-8 и cp1251
- Есть строка в кодировке cp1251, получить юникодную строку
- Написать функцию, которой можно передавать аргументы либо списком/кортежем, либо по одному. Функция производит суммирование всех аргументов.
- Написать функцию-фабрику, которая будет возвращать функцию сложения с аргументом.
- Написать фабрику, аналогичную п.2, но возвращающей список таких функций
- Написать аналог map:
- Написать функцию-генератор cycle которая бы возвращала циклический итератор.
- Написать функцию-генератор chain, которая последовательно итерирует переданные объекты (произвольное количество)
- У нас есть импортированный модуль foo, как узнать физический путь файла, откуда он импортирован?
- Из модуля foo вы импортируете модуль feedparser. Версия X feedparser'а есть в общесистемном каталоге site-packages, версия Y — рядом с модулем foo. Определена переменная окружения PYTHONPATH, и там тоже есть feedparser, версии Z. Какая версия будет использоваться?
- Как посмотреть список каталогов, в которых Python ищет модули?
- У вас есть модуль foo, внутри него импортируется модуль bar. Рядом с модулем foo есть файлы bar.py и bar/init.py Какой модуль будет использоваться.
- Что означает и для чего используется конструкция name == 'main'
- Написать базовый класс Observable, который бы позволял наследникам: при передаче ****kwargs заносить соответствующие
- значения как атрибуты
- сделать так, чтобы при print отображались все публичные атрибуты
- Написать класс, который бы по всем внешним признакам был бы словарем, но позволял обращаться к ключам как к атрибутам.
- Пункт 2 с усложнением: написать родительский класс XDictAttr так, чтобы у наследника динамически определялся ключ по наличию метода get_'KEY'.
- Написать класс, который регистрирует свои экземпляры и предоставляет интерфейс итератора по ним
- Для чего используются, какие аргументы получают, что должны возвращать: методы new и init классов
- Какие аргументы получает new и init у метакласса?
- Реализовать дескрипторы, которые бы фиксировали тип атрибута
- Реализовать базовый класс (используя метакласс), который бы фиксировал тип атрибута
- Реализовать базовый класс (используя метакласс) и дескрипторы, которые бы на основе класса создавали SQL-схему (ANSI SQL) для модели:
#python #learning