Python: задачки и вопросы
7.78K subscribers
1.18K photos
1 video
1 file
86 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
加入频道
Пакет пространства имен — это расширение модели импортирования, доступное в Python 3.3 и последующих версиях, и соответствует одному и большему количеству каталогов, которые не содержат файлы __init__.ру. Когда Python находит их во время поиска при импортировании и не обнаруживает первым простой модуль или обычный пакет, то создает пакет пространства имен, который представляет собой виртуальное сцепление всех найденных каталогов, имеющих запрошенное имя модуля. Дальнейшие вложенные компоненты ищутся во всех каталогах пакета пространства имен. Результат подобен обычному пакету, но содержимое может охватывать множество каталогов.
В Python вы всегда находитесь внутри модуля. Выражаясь кратко, просто не существует способов написания кода, который не будет находиться в каком-то модуле. Набираемый в интерактивной подсказке, на самом деле попадает во встроенный модуль по имени __main__; уникальные особенности интерактивной подсказки заключаются лишь в том, что код выполняется и отбрасывается немедленно, а результаты выражений
выводятся автоматически.
Изменения языка, потенциально способные нарушить работу существующего кода, обычно в Python вводятся постепенно. Они часто появляются как необязательные расширения, которые по умолчанию отключены. Для включения таких расширений используется специальный оператор import следующего вида:


from __future__ import название_средства


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

К примеру для Python 3.7.9 список средств из будущих версий будет выглядеть так:


>>> import __future__
>>> print(dir(__future__))
… [‘CO_FUTURE_ABSOLUTE_IMPORT', 'CO_FUTURE_ANNOTATIONS', 'CO_FUTURE_BARRY_AS_BDFL', 'CO_FUTURE_DIVISION', 'CO_FUTURE_GENERATOR_STOP', 'CO_FUTURE_PRINT_FUNCTION', 'CO_FUTURE_UNICODE_LITERALS', 'CO_FUTURE_WITH_STATEMENT', 'CO_GENERATOR_ALLOWED', 'CO_NESTED', '_Feature', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'absolute_import', 'all_feature_names', 'annotations', 'barry_as_FLUFL', 'division', 'generator_stop', 'generators', 'nested_scopes', 'print_function', 'unicode_literals', 'with_statement']
В Python встроенная переменная name присутствует у следующих объектов:
- Модули
◦ Каждый модуль в Python имеет атрибут name, который содержит имя модуля.
◦ Если модуль запущен как основной (main), name принимает значение "__main__".
◦ Если модуль импортирован, то name содержит его имя в пространстве имен:

В файле my_module.py

>>> print(__name__)
... my_module


- Классы
- Функции и методы
- Лямбда-функции


>>> my_lambda = lambda x: x * 2
>>> print(my_lambda.__name__)
... lambda
Что будет выведено в командной строке при запуске python3 my_module.py?
Anonymous Quiz
26%
Пустое значение
32%
my_module
34%
my_module.py
8%
Error
Что выведет код?
Anonymous Quiz
17%
1
16%
2
45%
3
22%
Error
class pandas.Series(data=None, index=None, dtype=None, name=None, copy=None, fastpath=<no_default>)[source]


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

Документация
Добавить опцию «Узнать ответ»?
Anonymous Poll
40%
Да
28%
Нет
32%
Узнать ответ :)
Что из нижеперечисленного не является типом данных?
Anonymous Quiz
5%
Числа
6%
Кортежи
48%
Функции
42%
Все является
👎3🥴3👾1
Основными типами данных в Python являются числа, строки, списки, словари, кортежи и множества. Эти типы данных встроены в язык и всегда доступны для использования. Строка может быть создана с помощью литерального выражения 'example', а список — с использованием квадратных скобок [1, 2, 3]. В отличие от этого, для создания объектов других типов, таких как файлы, нужны специальные функции, например, open().
Неизменяемость обозначает, что после создания объекта его состояние нельзя изменить. К таким типам относятся числа, строки и кортежи. Например, при попытке изменить строку Python создаст новую строку, а не изменит исходную. Это важно для управления памятью и безопасности кода, так как неизменяемые объекты могут использоваться в качестве ключей словарей. Например, строка 'hello' всегда оставаться одной и той же, если мы не создадим новую строку через операцию конкатенации.
👍2
На самом деле, в Python последовательности могут содержать элементы различных типов. Например, вы можете создать список, в котором будут и числа, и строки: mixed_list = [1, 'hello', 3.14]. Хотя некоторые типы данных (например, массивы) требуют единого типа элементов, в Python стандартные последовательности, такие как списки и строки, это ограничение не имеют.