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
Чем отличается pickling от unpickling?
В Python модуль pickle принимает любой объект Python, преобразует его в строковое представление и выгружает его в файл с помощью функции dump. Такой процесс известен как pickling. Для этого процесса используется функция pickle.dump(). С другой стороны, процесс извлечения исходного объекта Python из сохраненного строкового представления называется unpickling. Для этого процесса используется функция pickle.load().
26
Что такое декораторы в Python?
Декоратор Python — это некоторое обновление синтаксиса Python, сделанное для более простого изменения функций.
27
Разница между генераторами и итераторами?
В Python итераторы используются для перебора группы элементов (например, в списке). Генераторы представляют собой способ реализации итераторов. В них применяется yield для возврата выражения из функции, но в остальном генератор ведет себя как обычная функция.
28
Как преобразовать число в строку?
Встроенная функция str(). | Для восьмеричного или шестнадцатеричного представления числа - oct() или hex().
29
Как используется оператор // в Python?
Использование оператора // между двумя числами дает частное при делении числителя на знаменатель. Он также называется оператором деления без остатка.
30
Есть ли в Python инструкция Switch или Case, как в C?
Нет. Однако мы можем создать нашу собственную функцию Switch и использовать ее.
31
Что такое функция range() и каковы ее параметры?
Функция range() используется для создания списка из чисел. Разрешены только целые числа, поэтому переданные аргументы могут быть как отрицательными, так и положительными. Допустимы следующие параметры: Где «stop» — это количество целых чисел для генерации, начиная с 0. Пример: list(range(5)) == [0,1,2,3,4] Другие параметры: range([start], stop[, step]): Start: устанавливает первое число в последовательности. Stop: указывает предел для последовательности. Step: шаг перемещения по последовательности.
32
Как используется %s?
%s — это спецификатор формата, который преобразует любое значение в строку.
33
Обязательно ли функция Python должна возвращать значение?
Нет, но в любом случае возвращает (None for void)
34
Что такое GIL?
GIL или Global Interpreter Lock — это мьютекс, используемый для ограничения доступа к объектам Python. Он синхронизирует потоки и предотвращает их одновременное выполнение.
35
Какой метод использовался до оператора «in» для проверки наличия ключа в словаре?
Метод has_key()
36
Как изменить тип данных списка?
Чтобы преобразовать список в кортеж, мы используем функцию tuple(). Чтобы превратить его в множество — функцию set(). Для преобразования в словарь — dict(). Для превращения в строку — join().
37
Каковы ключевые особенности Python?
Python — это язык программирования общего назначения высокого уровня с открытым исходным кодом. Поставляется с большим набором библиотек, вы можете использовать Python для разработки практически любого типа приложений. Некоторые из его ключевых особенностей: Интерпретированный, С динамической типизацией, Объектно-ориентированный, Англоязычный синтаксис.
38
Объясните управление памятью в Python.
В Python диспетчер памяти заботится об управлении памятью. Он выделяет ее в виде пространства в куче, в которой хранятся все объекты Python и структуры данных. В языке существуют 4 встроенных структуры данных. Данное пространство недоступно для программиста напрямую. Однако базовый API позволяет разработчику получить доступ к некоторым инструментам для написания кода. Кроме того, Python оснащен встроенным сборщиком мусора, который освобождает неиспользуемую память из пространства кучи.
39
Что такое PYTHONPATH?
PYTHONPATH — это переменная окружения, которая используется для включения дополнительных каталогов при импорте модуля/пакета. Каждый раз, когда модуль/пакет импортируется, PYTHONPATH используется для проверки наличия добавляемых модулей в существующих каталогах. Обычно интерпретатор использует PYTHONPATH, чтобы определить, какой модуль загрузить.
40
Чувствителен ли Python к регистру?
Язык программирования считается чувствительным к регистру, если он различает такие идентификаторы, как «myname» и «Myname». Проще говоря, он заботится, являются ли символы строчными или прописными. Возникновение ошибки NameError означает, что Python чувствителен к регистру.
41
Объясните использование функций help() и dir()
В Python функция help() используется для отображения документации по модулям, классам, функциям, ключевым словам и так далее. Если help() не получает параметров, она запускает интерактивную справочную утилиту на консоли. Функция dir() возвращает допустимый список атрибутов и методов объекта, к которому она вызывается. Поскольку функция предназначена для получения наиболее релевантных данных (вместо отображения полной информации), она ведет себя по-разному с разными объектами: Для модулей/библиотек функция dir() возвращает список всех атрибутов, содержащихся в этом модуле. Для объектов класса dir() вернет список всех допустимых атрибутов и базовых атрибутов. Когда ей не передаются никакие параметры, функция dir() возвращает список атрибутов в текущей области видимости.
42
Что такое модули Python? Назовите некоторые наиболее часто используемые встроенные модули в Python?
Модули Python — это файлы, содержащие код на Python, который представляет собой либо функциональные классы, либо переменные. Модули являются файлами Python с расширением .py. Они могут включать в себя набор функций, классов или переменных, которые определены и реализованы. Вы можете импортировать и инициализировать модуль с помощью инструкции import. Изучив руководство по Python, вы можете узнать больше о модулях в Python. Вот некоторые из наиболее часто используемых встроенных модулей в Python: Операционные системы ``` os, sys, math, random, datetime, JSON ```
43
Объясните, что означает «self» в Python.
В Python «self» — это ключевое слово, применяемое для определения экземпляра или объекта класса. В отличие от Java, где self не является обязательным, в Python он используется как первый параметр. Self помогает отличать методы и атрибуты класса от его локальных переменных. Переменная self в методе __init__ ссылается к созданному объекту или экземпляру, тогда как в других методах она указывает на объект или экземпляр, метод которого был вызван.
44
Что такое Python?
Python — это язык программирования с объектами, модулями, потоками, исключениями и автоматическим управлением памятью. Python предназначен для высокой читабельности. Он часто использует английские ключевые слова, в то время как другие языки используют пунктуацию, и у него меньше синтаксических конструкций, чем у других языков.
45
Каковы преимущества использования Python?
Они заключаются в том, что он прост, удобен, портативен, расширяем, имеет встроенную структуру данных и открытый исходный код.
46
Как Python интерпретируется как язык?
Интерпретируемый язык — это любой язык программирования, который не находится в машинном коде до выполнения. Таким образом, Python им и является.
47
Как интерпретируется Python?
Программа Python запускается непосредственно из исходного кода, написанным программистом. Язык преобразует его в промежуточный код, который снова переводится на машинный язык, который затем уже должен быть выполнен.
48
Как в Python управляется память?
Память в Python управляется приватным пространством кучи Python. В ней расположены все объекты и структуры данных Python. Об этой куче заботится сам интерпретатор Python, а программист не имеет к ней доступа. Менеджер памяти Python заботится о выделении частного пространства кучи. Память для пространства кучи Python предоставляется встроенным сборщиком мусора, который перерабатывает и освобождает всю неиспользуемую память.
49
Что такое PEP 8?
PEP расшифровывается как Python Enhancement Proposal (Предложение по улучшению Python). Это набор правил, которые определяют, как форматировать код для максимальной читабельности.
50
Что такое строки документации в Python?
Docstrings не являются комментариями, это строки документации. Они заключены в тройные кавычки. Такие строки не привязаны ни к одной переменной, и поэтому иногда служат в качестве комментариев.
51
Обязательны ли отступы в Python?
Отступ в Python является обязательным и является частью его синтаксиса. Все языки программирования имеют некоторый способ определения объема и масштаба блока кодов — в Python это отступ. Отступ обеспечивает лучшую читабельность кода, и именно поэтому он обязателен.
52
Что такое функция в Python?
Функция — это блок кода, который выполняется только при его вызове. Для определения функции Python используется ключевое слово def. Если функция возвращает что-то, ей нужно ключевое слово return.
53
Что такое локальные и глобальные переменные в Python?
Глобальная переменная: Переменные, объявленные вне функции или в глобальном пространстве, называются глобальными. Они могут быть доступны любой функции в программе. Локальная переменная: Любая переменная, объявленная внутри функции, называется локальной. Она присутствует в локальном пространстве, а не в глобальном.
54
Что такое лямбда-функция?
Анонимная или неназванная функция называется лямбда-функцией. Она может иметь любое количество параметров, но только один оператор. Она часто используется как одноразовая функция, а не многоразовая.
55
Какие типы данных поддерживаются в Python?
Python имеет пять стандартных типов данных − * число (целочисленные и с плавающей запятой); * строка; * список; * кортеж; * словарь.
56
Что такое индексы?
Чтобы получить доступ к элементу из упорядоченных последовательностей, мы используем его индекс, который является номером позиции этого конкретного элемента. Индекс обычно начинается с 0, то есть первый элемент имеет индекс 0, второй — 1 и так далее.
57
Что такое отрицательные индексы и почему они используются?
Когда мы используем индекс для доступа к элементам из конца списка, это называется обратным индексированием. При нем индексация элементов начинается с последнего элемента с индексом -1. Второй последний элемент имеет индекс “-2” и так далее. Они называются отрицательными.
58
Что такое словарь в Python?
Словарь Python — это один из поддерживаемых типов данных. Это неупорядоченная коллекция элементов. Элементы в словарях хранятся в виде пар ключ-значение. Словари индексируются по ключам. Тип данных представлен в виде {}.
59
Как получить доступ к значениям в словаре?
Вы можете получить доступ к значениям в словаре, индексируя их с помощью ключа. Индексация представлена в виде [].
60
Как получить список всех ключей в словаре?
Можно использовать атрибут, который есть у словаря — keys().
61
В чем разница между списком и кортежем?
Разница между списком и кортежем заключается в том, что список является изменяемым, а кортеж — нет. Кортеж может быть хэширован, например, в качестве ключа для словарей. Список определяется с помощью [], а кортеж — с помощью ()
62
Что такое итераторы в Python?
В Python итераторы используются для итерации группы элементов, контейнеров, таких как список или строка. Под итерацией подразумевается, что что-то может быть зациклено с помощью оператора.
63
Что делает [:: -1]?
[:: -1] используется для обратного порядка любого итерируемого объекта.
64
Как можно использовать тернарные операторы в Python?
Тернарный оператор — это оператор, который используется для отображения условных операторов. Он состоит из истинных или ложных значений с утверждением, которое нужно проверить.
65
Как работает break?
Оператор break позволяет завершить цикл, когда выполняется некоторое условие, и управление передается следующему оператору.
66
Каков смысл оператора pass в Python?
Оператор pass в Python используется, когда выражение требуется синтаксически, но вы не хотите, чтобы какая-либо команда или код выполнялись.
67
Что такое функция map в Python?
map() — это функция, которая принимает другую в качестве аргумента, а затем применяет её ко всем элементам итератора, передаваемым ей в качестве другого аргумента. Функция вернет объект map, поэтому нам нужно преобразовать его в объект списка.
68
Что такое функция enumerate в Python?
Метод enumerate() добавляет счетчик к итерируемому и возвращает его в виде объекта перечисления (enumerate). Объект будет состоять из счетчика и итерационных значений.
69
Что такое абстракции у словаря и списка в Python?
Они представляют собой синтаксические конструкции, облегчающие создание словаря или списка на основе существующих итеруемых. Создание происходит циклом внутри самого объекта.
70
Что такое slicing в Python?
Slicing (отсечение) — это механизм выбора диапазона элементов из таких типов последовательностей, как список, кортеж, строки и т.д. Такое отсечение выполняется методом индексации.
71
Каков смысл not в операторе?
Операторы — это специальные функции. Они принимают одно или несколько значений и дают соответствующий результат. not вернет обратное логическое значение.
72
Каков смысл // в python?
Это оператор целочисленного деления, который используется для деления двух операндов с результатом, показывающим только цифры перед десятичной точкой.
73
Как добавить новое значение в объект списка?
Это можно сделать с помощью атрибута append(), который есть у списка. При передачи какого-то значения в этот атрибут, оно будет помещено в конец последовательности.
74
Что такое поверхностная копия?
Поверхностная копия используется при создании нового типа экземпляра и сохраняет значения, скопированные в новом. Также она используется для копирования ссылочных указателей. Это означает, что когда мы копируем объект в другую переменную, он будет привязан.
75
Что такое глубокая копия?
Глубокая копия используется для хранения значений, которые уже скопированы. Глубокая копия не копирует ссылочные указатели на объекты. Она создает ссылку на объект, и новый объект, на который указывает другой, сохраняется. В отличие от неглубокой копии, изменения, внесенные в исходную копию, не повлияют ни на одну другую копию, использующую объект. Это значит, что они не привязаны.
76
Как создать пустой класс в Python?
Пустой класс — это класс, который не имеет никакого кода, определенного в его блоке. Он может быть создан с помощью ключевого слова pass. Однако объекты этого класса можно создать и вне самого класса. В Python команда pass ничего не делает при ее выполнении, это null.
77
Что означает ключевое слово self в Python?
Ключевое слово self используется в качестве первого параметра функции внутри класса, представляющего экземпляр класса. Объект или экземпляр класса автоматически передается методу, которому он принадлежит, и принимается в ключевом слове “self”. Пользователи могут использовать другое имя для первого параметра функции, которая указывает на объект класса, но рекомендуется использовать ключевое слово “self”, так как оно ближе к соглашению Python.
78
Будет ли цикл do-while работать, если вы не закончите его точкой с запятой?
Это вопрос с подвохом! Во-первых, Python не поддерживает встроенный цикл do-while. Во-вторых, завершение циклов do-while является необходимостью для таких языков, как C++.
79
Как преобразовать список в строку?
В этом случае мы могли бы использовать атрибут .join() из строкового объекта. Здесь мы передали объект списка в атрибут:
80
Что такое оператор членства?
Это оператор, который может подтвердить, является ли значение членом в другом объекте. Операторы членства бывают “in” и “not in”.
81
Что такое операторы тождественности в Python?
Они показывают нам, тождественны ли два значения. Операторы — “is” и “is not”.
82
Как обрабатывать входные данные в Python?
Для получения входных данных от пользователя можно использовать функцию input(). Она будет принимать входные данные от пользователя и возвращать их в строковый объект.
83
Что делает функция zip()?
Она вернет итератор кортежей, сформирует n-пару значений из перечисляемых, передаваемых функции. n — это число итерируемых, которые передают функции.
84
В чем разница между тем, когда функция range() принимает один аргумент, два и три?
Когда мы передаем только один аргумент, функция принимает его в качестве стоп-значения. Здесь начальное значение равно 0, а шаговое +1. Итерация с диапазоном всегда будет останавливаться на единицу перед стоп-значением. Когда мы передаем два аргумента, первый из них является начальным значением, а второй — стоп значением. Используя три аргумента, первый аргумент является начальным, второй — стоп, а третий — значением шага.
85
Напишите лучший код для перестановки двух чисел местами
Вы можете выполнить перестановку с помощью одной строки. a, b = b, a
86
Как можно объявить несколько назначений в одной строке кода?
Есть два способа это сделать. Первый — это отдельное объявление переменной в той же строке: a, b, c = 1,2,3 Другой способ — объявить переменную в той же строке только с одним значением: a=b=c=1
87
Что делает оператор with в Python?
Оператор with в Python гарантирует, что код очистки выполняется при работе с неуправляемыми ресурсами путем инкапсуляции общих задач подготовки и очистки. Он может быть использован, чтобы открыть файл, сделать что-то, а затем автоматически закрыть его. Также он может пригодиться для открытия соединения с базой данных, выполнения некоторой обработки, а затем автоматического закрытия, чтобы гарантировать, что ресурсы закрыты и доступны для других. with выполнит очистку ресурсов, даже если выдается исключение.
88
Когда выполняется except, в блоке try-except?
Блок try-except обычно используется, когда мы хотим что-то выполнить, если возникли ошибки. except выполняется, когда код в блоке try вызвал ошибки.
89
Где вы будете использовать while вместо for
Для простого повторяющегося цикла, либо тогда, когда не нужно перебирать список элементов, например записи базы данных и символы в строке.
90
Что такое модули Python?
Это независимые скрипты Python с расширением .py, которые можно повторно использовать в других кодах Python или скриптах с помощью оператора import. Модули могут состоять из функций, классов и переменных, а также некоторого выполняемого кода. Они помогают не только упорядочить коды Python, но и сделать их менее сложными и более эффективными.
91
Что такое PYTHONPATH?
PYTHONPATH — это переменная окружения, которая при импорте проверяется на наличие импортированных модулей в различных каталогах. Интерпретатор использует её, чтобы определить, какой модуль следует загрузить.
92
Назовите пример режимов обработки файлов с помощью Python?
Существуют следующие режимы: Режим только для чтения (‘r’): открыть файл для чтения. Это режим по умолчанию. Режим только для записи (‘w’): открыть файл для записи. Если файл содержит данные, они будут потеряны. Создается новый файл. Режим чтения-записи (‘rw’): открыть файл для чтения, режим записи. Это режим обновления. Режим добавления (‘a’): открыть для записи, добавить в конец файла, если файл существует.
93
Что такое pickling и unpickling?
Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling. Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.
94
Как получить текущий рабочий каталог с помощью Python?
Работая с Python, вам может понадобиться читать и записывать файлы из различных каталогов. Чтобы узнать, в каком вы сейчас работаете, можно использовать метод getcwd() из модуля os:
95
Как бы вы произвели рандомизацию содержимого списка на месте?
Мы можем воспользоваться функцией shuffle() из модуля random:
96
Что такое приведение в Python?
Приведение — это процесс преобразования значения переменной из одного типа в другой. В Python это можно сделать с помощью таких функций, как list(), int (), float() и str().
97
Как можно удалить переменные в Python?
Для удаления переменной мы можем использовать функцию del(). Считается хорошей практикой, убрать что-то лишнее, что не используется.
98
В чем разница между методами append() и extend()?
Они используются для добавления элементов в конец списка. append(элемент): добавляет элемент в конец списка; extend(другой список): добавляет элементы другого списка в конец первого.
99
Как получить текущую версию Python?
Мы можем узнать текущую версию Python с помощью sys.version:
100
Что значит *args, **kwargs? И зачем нам их использовать?
Мы используем *args, когда неуверены, сколько аргументов будет передано функции, или если хотим передать сохраненный список или кортеж аргументов функции. **kwargs используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию.
101
Что за функции help() и dir() в Python?
Функция help() отображает строку документации и справку для своего аргумента. Функция dir() отображает все элементы объекта (любого вида).
102
Что означает одинарное и двойное подчеркивание перед именем объекта?
Одиночное подчеркивание — имена в классе с подчеркиванием перед ними просто указывают другим программистам, что атрибут или метод предназначен для закрытого использования, однако с самим именем ничего особенного не делается. Двойное подчеркивание (искажение имени) — любой идентификатор вида __spam (не менее двух ведущих подчеркиваний, не более одного завершающего) заменяется на _имякласса__spam, где имя класса — это текущее спрятанное имя с подчеркиванием перед ним. Это искажение выполняется без учета синтаксической позиции идентификатора, поэтому его можно использовать для определения экземпляра закрытого класса и его переменных, методов, а также глобальных и других переменных, хранящихся в экземплярах, частных для этого класса в экземплярах других.
103
Что плохого в следующем коде: counter = 0 ``` def increment(): counter += 1 ``` increment()
В Python нет объявлений переменных, поэтому он должен сам определить их область действия. Если внутри функции имеется обращение к переменной, то она считается локальной. Переменная counter выше является глобальной, поэтому код выбрасывает ошибку.
104
Как разделить строку на список?
Мы можем использовать атрибут split(). Он принимает разделитель в качестве аргумента и возвращает список, состоящий из результатов разделения строки на его основе.
105
Что такое генератор?
Генератор Python создает последовательность значений для итерации, часто с помощью функции. Мы определяем функцию с помощью yield , которая используется для получения значения по одному, а затем используем цикл for для итерации. ``` def squares(n): i=1 while(i<=n): yield i**2 i+=1 for i in squares(7): print(i) ```
106
Какова цель одинарной переменной подчеркивания ( ‘ _ ’ ) в Python?
Она предназначена для хранения результата последнего выполненного выражения (/statement) в сеансе интерактивного интерпретатора. Этот прецедент был установлен стандартным интерпретатором CPython, а другие последовали этому примеру.
107
Каковы типы наследования в Python?
Python поддерживает различные типы наследования. Ими являются: единичное наследование; многоуровневое наследование; иерархическое наследование; множественное наследование.
108
Что такое распаковка кортежа?
Это процесс распаковки его значений и их ввода в несколько различных переменных.
109
Освобождается ли вся память при выходе из Python?
Выход из Python освобождает все, кроме: 1. модулей с циклическими ссылками; 2. объектов, на которые ссылаются глобальные пространства имен; 3. части памяти, зарезервированной библиотекой C.
110
Является ли функция допустимой, если она не имеет оператора return?
Функция, которая ничего не возвращает, возвращает объект None. Ключевое слово return необязательно обозначает конец функции, оно просто завершает ее, если присутствует. Обычно блок кода помечает функцию, и там, где заканчивается блок, заканчивается и тело функции.