Python Flashcards

1
Q

Классы (ООП)

A

механизм создания новых типов объектов

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Класс

A

это коллекция функций (известных, как методы), переменных (известных, как переменные класса) и вычисляемых атрибутов (известных, как свойства).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Метод экземпляра (класса)

A

функция, оперирующая экземпляром класса, который передается ей в первом аргументе

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Переменные класса

A

значения, которые совместно используются всеми экземплярами класса (то есть они не могут содержать отдельные значения для каждого из экземпляров)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Экземпляры класса создаются

A

обращением к объекту класса, как к функции. В результате этого создается новый экземпляр, который затем передается методу __init__() класса.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Аргументы метода __init__()

A

вновь созданный экземпляр self и дополнительные аргументы, указанные при вызове объекта класса

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Внутри метода __init__()

A

создаются атрибуты экземпляра путем присваивания значений атрибутам объекта self

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Оператор точки (.)

A

отвечает за доступ к атрибутам

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Наследование

A

механизм создания новых классов, призванный на- строить или изменить поведение существующего класса

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Класс- примесь

A

обычно определяющий набор методов, объявляется, чтобы потом «подмешивать» его в другие классы, с целью расширения их функциональных возможностей

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Статический метод

A

это обычная функция, которая просто включается в пространство имен, определяемое классом

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Методы класса

A

это методы, которые оперируют самим классом как объектом

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Свойство

A

это особая разновидность атрибута, который вычисляет свое значение при попытке обращения к нему

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Дескриптор

A

это обычный объект, представляющий значение атрибута

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Слабая ссылка

A

это такая ссылка на объект, создание которой не приводит к увеличению счетчика ссылок

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

__slots__

A

возможность ограничить класс определенным набором имен атрибутов

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Абстрактные базовые классы

A

реализуют механизм организации объектов в иерархии, позволяющий утверждать о наличии требуемых методов и делать другие выводы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Метакласс

A

это объект, который знает, как создавать классы и управлять ими

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Декоратор класса

A

это функция, которая принимает и возвращает класс

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

В чем разница между модулем и пакетом в Python?

A

Каждый программный файл Python представляет собой модуль, который импортирует другие модули как объекты. Таким образом, модуль — это способ структурирования вашей программы. Папка с программой на Python называется пакетом модулей.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Какие встроенные типы доступны в Python?

A
К изменяемым относятся:
Списки,
Множества,
Словари.
Представителями неизменяемых типов являются:
Строки,
Кортежи,
Числа.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Что такое лямбда-функция в Python?

A

Лямбда часто используется как встраиваемая функция и представляет собой единственное анонимное функциональное выражение. Она применяется для создания нового объекта функции и его возврата во время выполнения.

Лямбда — это анонимная функция в Python, которая может принимать неограниченное количество аргументов и может иметь любое число параметров. Однако лямбда-функция может иметь только одно выражение или инструкцию. Обычно она используется в ситуациях, когда требуется анонимная функция в течение короткого периода времени.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Что означает пространство имен?

A

Пространство имен представляет собой систему имен, которая используется для обеспечения уникальности наименования всех объектов в программе, чтобы избежать возможных конфликтов. В Python эти пространства имен реализованы как словари с именем в качестве ключа и объектом в качестве значения. В результате разные пространства могут давать своим объектам одинаковые имена.

Ниже приведены три типа пространств имен в Python:

Локальное пространство имен — включает локальные имена внутри функции. Локальное пространство имен временно создается во время вызова функции и очищается при возврате из нее.
Глобальное пространство имен — состоит из имен различных импортированных пакетов/модулей, которые в настоящее время используются в проекте. Глобальное пространство имен создается при импорте пакета в скрипт, и оно доступно до тех пор, пока скрипт не закончит выполнение.
Встроенное пространство имен — оно включает встроенные функции Python и встроенные имена для различных типов исключений.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Объясните разницу между списком и кортежем?

A

Список изменяемый, а кортеж — нет. Кортежи можно хешировать, как в случае создания ключей для словарей.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Чем отличается pickling от unpickling?

A

В Python модуль pickle принимает любой объект Python, преобразует его в строковое представление и выгружает его в файл с помощью функции dump. Такой процесс известен как pickling. Для этого процесса используется функция pickle.dump().

С другой стороны, процесс извлечения исходного объекта Python из сохраненного строкового представления называется unpickling. Для этого процесса используется функция pickle.load().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Что такое декораторы в Python?

A

Декоратор Python — это некоторое обновление синтаксиса Python, сделанное для более простого изменения функций.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Разница между генераторами и итераторами?

A

В Python итераторы используются для перебора группы элементов (например, в списке). Генераторы представляют собой способ реализации итераторов. В них применяется yield для возврата выражения из функции, но в остальном генератор ведет себя как обычная функция.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Как преобразовать число в строку?

A

Встроенная функция str().

Для восьмеричного или шестнадцатеричного представления числа - oct() или hex().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Как используется оператор // в Python?

A

Использование оператора // между двумя числами дает частное при делении числителя на знаменатель. Он также называется оператором деления без остатка.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Есть ли в Python инструкция Switch или Case, как в C?

A

Нет. Однако мы можем создать нашу собственную функцию Switch и использовать ее.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Что такое функция range() и каковы ее параметры?

A

Функция range() используется для создания списка из чисел. Разрешены только целые числа, поэтому переданные аргументы могут быть как отрицательными, так и положительными. Допустимы следующие параметры:
Где «stop» — это количество целых чисел для генерации, начиная с 0. Пример: list(range(5)) == [0,1,2,3,4]

Другие параметры: range([start], stop[, step]):

Start: устанавливает первое число в последовательности.
Stop: указывает предел для последовательности.
Step: шаг перемещения по последовательности.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Как используется %s?

A

%s — это спецификатор формата, который преобразует любое значение в строку.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Обязательно ли функция Python должна возвращать значение?

A

Нет, но в любом случае возвращает (None for void)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Что такое GIL?

A

GIL или Global Interpreter Lock — это мьютекс, используемый для ограничения доступа к объектам Python. Он синхронизирует потоки и предотвращает их одновременное выполнение.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Какой метод использовался до оператора «in» для проверки наличия ключа в словаре?

A

Метод has_key()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Как изменить тип данных списка?

A

Чтобы преобразовать список в кортеж, мы используем функцию tuple().
Чтобы превратить его в множество — функцию set().
Для преобразования в словарь — dict().
Для превращения в строку — join().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Каковы ключевые особенности Python?

A

Python — это язык программирования общего назначения высокого уровня с открытым исходным кодом. Поставляется с большим набором библиотек, вы можете использовать Python для разработки практически любого типа приложений.

Некоторые из его ключевых особенностей:

Интерпретированный,
С динамической типизацией,
Объектно-ориентированный,
Англоязычный синтаксис.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Объясните управление памятью в Python.

A

В Python диспетчер памяти заботится об управлении памятью. Он выделяет ее в виде пространства в куче, в которой хранятся все объекты Python и структуры данных. В языке существуют 4 встроенных структуры данных. Данное пространство недоступно для программиста напрямую. Однако базовый API позволяет разработчику получить доступ к некоторым инструментам для написания кода.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Что такое PYTHONPATH?

A

PYTHONPATH — это переменная окружения, которая используется для включения дополнительных каталогов при импорте модуля/пакета. Каждый раз, когда модуль/пакет импортируется, PYTHONPATH используется для проверки наличия добавляемых модулей в существующих каталогах. Обычно интерпретатор использует PYTHONPATH, чтобы определить, какой модуль загрузить.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Чувствителен ли Python к регистру?

A

Язык программирования считается чувствительным к регистру, если он различает такие идентификаторы, как «myname» и «Myname». Проще говоря, он заботится, являются ли символы строчными или прописными. Возникновение ошибки NameError означает, что Python чувствителен к регистру.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Объясните использование функций help() и dir()

A

В Python функция help() используется для отображения документации по модулям, классам, функциям, ключевым словам и так далее. Если help() не получает параметров, она запускает интерактивную справочную утилиту на консоли.

Функция dir() возвращает допустимый список атрибутов и методов объекта, к которому она вызывается. Поскольку функция предназначена для получения наиболее релевантных данных (вместо отображения полной информации), она ведет себя по-разному с разными объектами:

Для модулей/библиотек функция dir() возвращает список всех атрибутов, содержащихся в этом модуле.
Для объектов класса dir() вернет список всех допустимых атрибутов и базовых атрибутов.
Когда ей не передаются никакие параметры, функция dir() возвращает список атрибутов в текущей области видимости.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Что такое модули Python? Назовите некоторые наиболее часто используемые встроенные модули в Python?

A

Модули Python — это файлы, содержащие код на Python, который представляет собой либо функциональные классы, либо переменные. Модули являются файлами Python с расширением .py. Они могут включать в себя набор функций, классов или переменных, которые определены и реализованы. Вы можете импортировать и инициализировать модуль с помощью инструкции import. Изучив руководство по Python, вы можете узнать больше о модулях в Python.

Вот некоторые из наиболее часто используемых встроенных модулей в Python:
Операционные системы

os,
sys,
math,
random,
datetime,
JSON
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Объясните, что означает «self» в Python.

A

В Python «self» — это ключевое слово, применяемое для определения экземпляра или объекта класса. В отличие от Java, где self не является обязательным, в Python он используется как первый параметр. Self помогает отличать методы и атрибуты класса от его локальных переменных.

Переменная self в методе __init__ ссылается к созданному объекту или экземпляру, тогда как в других методах она указывает на объект или экземпляр, метод которого был вызван.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Что такое Python?

A

Python — это язык программирования с объектами, модулями, потоками, исключениями и автоматическим управлением памятью. Python предназначен для высокой читабельности. Он часто использует английские ключевые слова, в то время как другие языки используют пунктуацию, и у него меньше синтаксических конструкций, чем у других языков.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Каковы преимущества использования Python?

A

Они заключаются в том, что он прост, удобен, портативен, расширяем, имеет встроенную структуру данных и открытый исходный код.

46
Q

Как Python интерпретируется как язык?

A

Интерпретируемый язык — это любой язык программирования, который не находится в машинном коде до выполнения. Таким образом, Python им и является.

47
Q

Как интерпретируется Python?

A

Программа Python запускается непосредственно из исходного кода, написанным программистом. Язык преобразует его в промежуточный код, который снова переводится на машинный язык, который затем уже должен быть выполнен.

48
Q

Как в Python управляется память?

A

Память в Python управляется приватным пространством кучи Python. В ней расположены все объекты и структуры данных Python. Об этой куче заботится сам интерпретатор Python, а программист не имеет к ней доступа.
Менеджер памяти Python заботится о выделении частного пространства кучи.
Память для пространства кучи Python предоставляется встроенным сборщиком мусора, который перерабатывает и освобождает всю неиспользуемую память.

49
Q

Что такое PEP 8?

A

PEP расшифровывается как Python Enhancement Proposal (Предложение по улучшению Python). Это набор правил, которые определяют, как форматировать код для максимальной читабельности.

50
Q

Что такое строки документации в Python?

A

Docstrings не являются комментариями, это строки документации. Они заключены в тройные кавычки. Такие строки не привязаны ни к одной переменной, и поэтому иногда служат в качестве комментариев.

51
Q

Обязательны ли отступы в Python?

A

Отступ в Python является обязательным и является частью его синтаксиса.

Все языки программирования имеют некоторый способ определения объема и масштаба блока кодов — в Python это отступ. Отступ обеспечивает лучшую читабельность кода, и именно поэтому он обязателен.

52
Q

Что такое функция в Python?

A

Функция — это блок кода, который выполняется только при его вызове. Для определения функции Python используется ключевое слово def. Если функция возвращает что-то, ей нужно ключевое слово return.

53
Q

Что такое локальные и глобальные переменные в Python?

A

Глобальная переменная:
Переменные, объявленные вне функции или в глобальном пространстве, называются глобальными. Они могут быть доступны любой функции в программе.

Локальная переменная:
Любая переменная, объявленная внутри функции, называется локальной. Она присутствует в локальном пространстве, а не в глобальном.

54
Q

Что такое лямбда-функция?

A

Анонимная или неназванная функция называется лямбда-функцией. Она может иметь любое количество параметров, но только один оператор. Она часто используется как одноразовая функция, а не многоразовая.

55
Q

Какие типы данных поддерживаются в Python?

A

Python имеет пять стандартных типов данных −

  • число (целочисленные и с плавающей запятой);
  • строка;
  • список;
  • кортеж;
  • словарь.
56
Q

Что такое индексы?

A

Чтобы получить доступ к элементу из упорядоченных последовательностей, мы используем его индекс, который является номером позиции этого конкретного элемента. Индекс обычно начинается с 0, то есть первый элемент имеет индекс 0, второй — 1 и так далее.

57
Q

Что такое отрицательные индексы и почему они используются?

A

Когда мы используем индекс для доступа к элементам из конца списка, это называется обратным индексированием. При нем индексация элементов начинается с последнего элемента с индексом -1. Второй последний элемент имеет индекс “-2” и так далее. Они называются отрицательными.

58
Q

Что такое словарь в Python?

A

Словарь Python — это один из поддерживаемых типов данных. Это неупорядоченная коллекция элементов. Элементы в словарях хранятся в виде пар ключ-значение. Словари индексируются по ключам. Тип данных представлен в виде {}.

59
Q

Как получить доступ к значениям в словаре?

A

Вы можете получить доступ к значениям в словаре, индексируя их с помощью ключа. Индексация представлена в виде [].

60
Q

Как получить список всех ключей в словаре?

A

Можно использовать атрибут, который есть у словаря — keys().

61
Q

В чем разница между списком и кортежем?

A

Разница между списком и кортежем заключается в том, что список является изменяемым, а кортеж — нет. Кортеж может быть хэширован, например, в качестве ключа для словарей. Список определяется с помощью [], а кортеж — с помощью ()

62
Q

Что такое итераторы в Python?

A

В Python итераторы используются для итерации группы элементов, контейнеров, таких как список или строка. Под итерацией подразумевается, что что-то может быть зациклено с помощью оператора.

63
Q

Что делает [:: -1]?

A

[:: -1] используется для обратного порядка любого итерируемого объекта.

64
Q

Как можно использовать тернарные операторы в Python?

A

Тернарный оператор — это оператор, который используется для отображения условных операторов. Он состоит из истинных или ложных значений с утверждением, которое нужно проверить.

65
Q

Как работает break?

A

Оператор break позволяет завершить цикл, когда выполняется некоторое условие, и управление передается следующему оператору.

66
Q

Каков смысл оператора pass в Python?

A

Оператор pass в Python используется, когда выражение требуется синтаксически, но вы не хотите, чтобы какая-либо команда или код выполнялись.

67
Q

Что такое функция map в Python?

A

map() — это функция, которая принимает другую в качестве аргумента, а затем применяет её ко всем элементам итератора, передаваемым ей в качестве другого аргумента. Функция вернет объект map, поэтому нам нужно преобразовать его в объект списка.

68
Q

Что такое функция enumerate в Python?

A

Метод enumerate() добавляет счетчик к итерируемому и возвращает его в виде объекта перечисления (enumerate). Объект будет состоять из счетчика и итерационных значений.

69
Q

Что такое абстракции у словаря и списка в Python?

A

Они представляют собой синтаксические конструкции, облегчающие создание словаря или списка на основе существующих итеруемых. Создание происходит циклом внутри самого объекта.

70
Q

Что такое slicing в Python?

A

Slicing (отсечение) — это механизм выбора диапазона элементов из таких типов последовательностей, как список, кортеж, строки и т.д. Такое отсечение выполняется методом индексации.

71
Q

Каков смысл not в операторе?

A

Операторы — это специальные функции. Они принимают одно или несколько значений и дают соответствующий результат. not вернет обратное логическое значение.

72
Q

Каков смысл // в python?

A

Это оператор целочисленного деления, который используется для деления двух операндов с результатом, показывающим только цифры перед десятичной точкой.

73
Q

Как добавить новое значение в объект списка?

A

Это можно сделать с помощью атрибута append(), который есть у списка. При передачи какого-то значения в этот атрибут, оно будет помещено в конец последовательности.

74
Q

Что такое поверхностная копия?

A

Поверхностная копия используется при создании нового типа экземпляра и сохраняет значения, скопированные в новом. Также она используется для копирования ссылочных указателей. Это означает, что когда мы копируем объект в другую переменную, он будет привязан.

75
Q

Что такое глубокая копия?

A

Глубокая копия используется для хранения значений, которые уже скопированы. Глубокая копия не копирует ссылочные указатели на объекты. Она создает ссылку на объект, и новый объект, на который указывает другой, сохраняется. В отличие от неглубокой копии, изменения, внесенные в исходную копию, не повлияют ни на одну другую копию, использующую объект. Это значит, что они не привязаны.

76
Q

Как создать пустой класс в Python?

A

Пустой класс — это класс, который не имеет никакого кода, определенного в его блоке. Он может быть создан с помощью ключевого слова pass. Однако объекты этого класса можно создать и вне самого класса. В Python команда pass ничего не делает при ее выполнении, это null.

77
Q

Что означает ключевое слово self в Python?

A

Ключевое слово self используется в качестве первого параметра функции внутри класса, представляющего экземпляр класса. Объект или экземпляр класса автоматически передается методу, которому он принадлежит, и принимается в ключевом слове “self”. Пользователи могут использовать другое имя для первого параметра функции, которая указывает на объект класса, но рекомендуется использовать ключевое слово “self”, так как оно ближе к соглашению Python.

78
Q

Будет ли цикл do-while работать, если вы не закончите его точкой с запятой?

A

Это вопрос с подвохом! Во-первых, Python не поддерживает встроенный цикл do-while. Во-вторых, завершение циклов do-while является необходимостью для таких языков, как C++.

79
Q

Как преобразовать список в строку?

A

В этом случае мы могли бы использовать атрибут .join() из строкового объекта. Здесь мы передали объект списка в атрибут:

80
Q

Что такое оператор членства?

A

Это оператор, который может подтвердить, является ли значение членом в другом объекте. Операторы членства бывают “in” и “not in”.

81
Q

Что такое операторы тождественности в Python?

A

Они показывают нам, тождественны ли два значения. Операторы — “is” и “is not”.

82
Q

Как обрабатывать входные данные в Python?

A

Для получения входных данных от пользователя можно использовать функцию input(). Она будет принимать входные данные от пользователя и возвращать их в строковый объект.

83
Q

Что делает функция zip()?

A

Она вернет итератор кортежей, сформирует n-пару значений из перечисляемых, передаваемых функции. n — это число итерируемых, которые передают функции.

84
Q

В чем разница между тем, когда функция range() принимает один аргумент, два и три?

A

Когда мы передаем только один аргумент, функция принимает его в качестве стоп-значения. Здесь начальное значение равно 0, а шаговое +1. Итерация с диапазоном всегда будет останавливаться на единицу перед стоп-значением.
Когда мы передаем два аргумента, первый из них является начальным значением, а второй — стоп значением.
Используя три аргумента, первый аргумент является начальным, второй — стоп, а третий — значением шага.

85
Q

Напишите лучший код для перестановки двух чисел местами

A

Вы можете выполнить перестановку с помощью одной строки. a, b = b, a

86
Q

Как можно объявить несколько назначений в одной строке кода?

A

Есть два способа это сделать. Первый — это отдельное объявление переменной в той же строке:

a, b, c = 1,2,3
Другой способ — объявить переменную в той же строке только с одним значением:

a=b=c=1

87
Q

Что делает оператор with в Python?

A

Оператор with в Python гарантирует, что код очистки выполняется при работе с неуправляемыми ресурсами путем инкапсуляции общих задач подготовки и очистки. Он может быть использован, чтобы открыть файл, сделать что-то, а затем автоматически закрыть его. Также он может пригодиться для открытия соединения с базой данных, выполнения некоторой обработки, а затем автоматического закрытия, чтобы гарантировать, что ресурсы закрыты и доступны для других. with выполнит очистку ресурсов, даже если выдается исключение.

88
Q

Когда выполняется except, в блоке try-except?

A

Блок try-except обычно используется, когда мы хотим что-то выполнить, если возникли ошибки. except выполняется, когда код в блоке try вызвал ошибки.

89
Q

Где вы будете использовать while вместо for

A

Для простого повторяющегося цикла, либо тогда, когда не нужно перебирать список элементов, например записи базы данных и символы в строке.

90
Q

Что такое модули Python?

A

Это независимые скрипты Python с расширением .py, которые можно повторно использовать в других кодах Python или скриптах с помощью оператора import. Модули могут состоять из функций, классов и переменных, а также некоторого выполняемого кода. Они помогают не только упорядочить коды Python, но и сделать их менее сложными и более эффективными.

91
Q

Что такое PYTHONPATH?

A

PYTHONPATH — это переменная окружения, которая при импорте проверяется на наличие импортированных модулей в различных каталогах. Интерпретатор использует её, чтобы определить, какой модуль следует загрузить.

92
Q

Назовите пример режимов обработки файлов с помощью Python?

A

Существуют следующие режимы:

Режим только для чтения (‘r’): открыть файл для чтения. Это режим по умолчанию.
Режим только для записи (‘w’): открыть файл для записи. Если файл содержит данные, они будут потеряны. Создается новый файл.
Режим чтения-записи (‘rw’): открыть файл для чтения, режим записи. Это режим обновления.
Режим добавления (‘a’): открыть для записи, добавить в конец файла, если файл существует.

93
Q

Что такое pickling и unpickling?

A

Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling. Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.

94
Q

Как получить текущий рабочий каталог с помощью Python?

A

Работая с Python, вам может понадобиться читать и записывать файлы из различных каталогов. Чтобы узнать, в каком вы сейчас работаете, можно использовать метод getcwd() из модуля os:

95
Q

Как бы вы произвели рандомизацию содержимого списка на месте?

A

Мы можем воспользоваться функцией shuffle() из модуля random:

96
Q

Что такое приведение в Python?

A

Приведение — это процесс преобразования значения переменной из одного типа в другой. В Python это можно сделать с помощью таких функций, как list(), int (), float() и str().

97
Q

Как можно удалить переменные в Python?

A

Для удаления переменной мы можем использовать функцию del(). Считается хорошей практикой, убрать что-то лишнее, что не используется.

98
Q

В чем разница между методами append() и extend()?

A

Они используются для добавления элементов в конец списка.

append(элемент): добавляет элемент в конец списка;
extend(другой список): добавляет элементы другого списка в конец первого.

99
Q

Как получить текущую версию Python?

A

Мы можем узнать текущую версию Python с помощью sys.version:

100
Q

Что значит *args, **kwargs? И зачем нам их использовать?

A

Мы используем *args, когда неуверены, сколько аргументов будет передано функции, или если хотим передать сохраненный список или кортеж аргументов функции. **kwargs используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию.

101
Q

Что за функции help() и dir() в Python?

A

Функция help() отображает строку документации и справку для своего аргумента.

Функция dir() отображает все элементы объекта (любого вида).

102
Q

Что означает одинарное и двойное подчеркивание перед именем объекта?

A

Одиночное подчеркивание — имена в классе с подчеркиванием перед ними просто указывают другим программистам, что атрибут или метод предназначен для закрытого использования, однако с самим именем ничего особенного не делается.

Двойное подчеркивание (искажение имени) — любой идентификатор вида __spam (не менее двух ведущих подчеркиваний, не более одного завершающего) заменяется на _имякласса__spam, где имя класса — это текущее спрятанное имя с подчеркиванием перед ним. Это искажение выполняется без учета синтаксической позиции идентификатора, поэтому его можно использовать для определения экземпляра закрытого класса и его переменных, методов, а также глобальных и других переменных, хранящихся в экземплярах, частных для этого класса в экземплярах других.

103
Q

Что плохого в следующем коде:
counter = 0

def increment():
   counter += 1

increment()

A

В Python нет объявлений переменных, поэтому он должен сам определить их область действия. Если внутри функции имеется обращение к переменной, то она считается локальной. Переменная counter выше является глобальной, поэтому код выбрасывает ошибку.

104
Q

Как разделить строку на список?

A

Мы можем использовать атрибут split(). Он принимает разделитель в качестве аргумента и возвращает список, состоящий из результатов разделения строки на его основе.

105
Q

Что такое генератор?

A

Генератор Python создает последовательность значений для итерации, часто с помощью функции. Мы определяем функцию с помощью yield , которая используется для получения значения по одному, а затем используем цикл for для итерации.

def squares(n):
    i=1
    while(i<=n):
        yield i**2
        i+=1
for i in squares(7):
    print(i)
106
Q

Какова цель одинарной переменной подчеркивания ( ‘ _ ’ ) в Python?

A

Она предназначена для хранения результата последнего выполненного выражения (/statement) в сеансе интерактивного интерпретатора. Этот прецедент был установлен стандартным интерпретатором CPython, а другие последовали этому примеру.

107
Q

Каковы типы наследования в Python?

A

Python поддерживает различные типы наследования. Ими являются:

единичное наследование;
многоуровневое наследование;
иерархическое наследование;
множественное наследование.

108
Q

Что такое распаковка кортежа?

A

Это процесс распаковки его значений и их ввода в несколько различных переменных.

109
Q

Освобождается ли вся память при выходе из Python?

A

Выход из Python освобождает все, кроме:

  1. модулей с циклическими ссылками;
  2. объектов, на которые ссылаются глобальные пространства имен;
  3. части памяти, зарезервированной библиотекой C.
110
Q

Является ли функция допустимой, если она не имеет оператора return?

A

Функция, которая ничего не возвращает, возвращает объект None. Ключевое слово return необязательно обозначает конец функции, оно просто завершает ее, если присутствует. Обычно блок кода помечает функцию, и там, где заканчивается блок, заканчивается и тело функции.