Синтаксис путей с точками был выбран отчасти для обеспечения нейтральности к платформе, но еще и потому, что пути в операторах
import
становятся реальными цепочками вложенных объектов. Такой синтаксис также означает, вы можете получать странные сообщения об ошибках, если забудете опустить .ру в своих операторах import
. Скажем, оператор import mod.ру
предположительно является операцией импортирования пути к каталогу — он загружает mod.py, затем пытается загрузить mod\py .ру и в конечном итоге выдает потенциальносбивающее с толку сообщение об ошибке “No module named ру
” (“Модуль по имени ру отсутствует”). Начиная с версии Python 3.3, сообщение об ошибке было улучшено и выглядит как “No module named ‘mod.py’; mod is not a package
” (“Модуль по имени mod.py отсутствует; mod не является пакетом”).Зачем нужен файл __init__.py? #размяться
Anonymous Quiz
6%
Это позволяет работать как с Python 2.X, так и 3.X
9%
Он содержит байт-код
75%
Он делает папку пакетом модулей
9%
Он содержит кэш проекта
Файл __init__.py в Python используется для обозначения директории как пакета. Это означает, что директория (папка) может содержать модули (файлы .py), и Python сможет импортировать их как часть этого пакета.
Что делает ведущая точка в коде?
Anonymous Quiz
12%
Импортирует из всех модулей, заканчивающихся на spam
19%
Позволяет импортировать из объекта spam текущего файле
57%
Сужает область импорта до текущей папки
11%
Код вызовет ошибку
Выражение означает «импортировать переменную eggs из модуля по имени spam, который расположен в том же самом пакете, что и файл, содержащий этот оператор».
Чем первое выражение отличается от второго?
Anonymous Quiz
80%
Дополнительная ведущая точка выполняет импортирование, начиная с родительского каталога
7%
.. позволяет импортировать откуда угодно в проекте
6%
.. позволяет импортировать атрибуты классов
7%
Ничем не отличается
Точка (.) в операции относительного импортирования обозначает каталог пакета, содержащий файл, в котором находится оператор импортирования. Дополнительная ведущая точка выполняет относительное импортирование, начиная с родительского каталога текущего каталога пакета.
Какая строка является примером абсолютного импортирования?
Anonymous Quiz
54%
1
24%
2
8%
3
14%
Никакая
В Python существует два основных типа импортирования: абсолютное и относительное. Оба метода используются для импорта модулей и пакетов, но они имеют разные подходы к указанию местоположения файла.
Абсолютное импортирование подразумевает указание полного пути к модулю, начиная от корня пакета. Это наиболее рекомендуемый метод, поскольку он более читаем и менее подвержен ошибкам.
Относительное импортирование позволяет импортировать модули на основе текущего местоположения файла с использованием точек (.) для обозначения текущего и родительских уровней. Этот метод может быть полезен для больших проектов с глубоко вложенной структурой, но его использование может быть менее очевидным.
Абсолютное импортирование подразумевает указание полного пути к модулю, начиная от корня пакета. Это наиболее рекомендуемый метод, поскольку он более читаем и менее подвержен ошибкам.
from some_module import some_func # 1
Относительное импортирование позволяет импортировать модули на основе текущего местоположения файла с использованием точек (.) для обозначения текущего и родительских уровней. Этот метод может быть полезен для больших проектов с глубоко вложенной структурой, но его использование может быть менее очевидным.
from . import some_func # 2
Какие параметры pandas.Series существуют?
Anonymous Quiz
10%
len
13%
dtype
9%
index
68%
2-й и 3-й варианты
В конструкторе Series описаны параметры:
-
-
-
-
-
Документация
-
data
: итерируемый объект, который превратится в pd.Series-
index
: массив индексов, если не указано, будет подставлен RangeIndex (0, 1, 2, …, n)-
dtype
: тип данных. Если не указано, будет определено на основе данных-
name
: имя серии-
copy
: булевая метка — копировать или видоизменять (относится только к другим pd.Series)Документация
Когда обязательно использовать import, а не from?
Anonymous Quiz
40%
Когда необходим доступ к имени, которое определено в нескольких путях
18%
Когда используются псевдонимы (as alias)
7%
Когда используется Python 2
35%
Не бывает таких ситуаций
Пакет пространства имен — это расширение модели импортирования, доступное в Python 3.3 и последующих версиях, и соответствует одному и большему количеству каталогов, которые не содержат файлы __init__.ру. Когда Python находит их во время поиска при импортировании и не обнаруживает первым простой модуль или обычный пакет, то создает пакет пространства имен, который представляет собой виртуальное сцепление всех найденных каталогов, имеющих запрошенное имя модуля. Дальнейшие вложенные компоненты ищутся во всех каталогах пакета пространства имен. Результат подобен обычному пакету, но содержимое может охватывать множество каталогов.
Внутри какого модуля находится ВЕСЬ код проекта по умолчанию?
Anonymous Quiz
24%
Он одноименный с главной папкой проекта
9%
__init__
39%
__main__
28%
Весь код проекта не может находиться в одном модуле
В Python вы всегда находитесь внутри модуля. Выражаясь кратко, просто не существует способов написания кода, который не будет находиться в каком-то модуле. Набираемый в интерактивной подсказке, на самом деле попадает во встроенный модуль по имени __main__; уникальные особенности интерактивной подсказки заключаются лишь в том, что код выполняется и отбрасывается немедленно, а результаты выражений
выводятся автоматически.
выводятся автоматически.