Python | Готовимся к собесам
441 subscribers
22 photos
133 links
Вопросы с собеседований для позиций Python-разработчиков, тесты, практика от синьора. Читай, чтобы прокачаться перед встречей

Подготовка к собесам для Frontend https://t.me/+Y8231d36XXo5YTk6

Ссылка на для друга https://t.me/+Dn9D2WZCvno5MGZi
Download Telegram
Есть кортеж из трех элементов. Назначить переменным a, b, c его значения

Ответ:
a, b, c = (1, 2, 3)
Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤯3
Что делает yield

Ответ:
yield замораживает состояние функции-генератора и возвращает текущее значение. После следующего вызова __next__() функция-генератор продолжает своё выполнение с того места, где она была приостановлена.

Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯3🔥1
Какие есть виды файловых объектов

Ответ:
Файловый объект – объект, предоставляющий файл-ориентированный API (методы read(), write() и т.д.) для доступа к ресурсу. В зависимости от способа создания, файловый объект может предоставлять доступ к реальному файлу на диске или другому виду устройства хранения или передачи данных (стандартные потоки ввода/вывода, буферы в памяти, сокеты и т.д.). Файловые объекты также называют пНа уровне типов данных в Python 2 нет отличия между текстовыми и бинарными файлами. При открытии можно указать текстовый либо бинарный режим, но это влияет только на преобразования концов строк при выполнении под ОС Windows, а под Unix-системами, где преобразования концов строк не требуются, не влияет ни на что.

В Python 3 существует три вида файловых объектов: текстовые файлы (text files), «обычные» (небуферизированные) бинарные файлы (raw binary files) и буферизированные бинарные файлы (buffered binary files). Разные виды потоков представляются соответствующими классами модуля io.

Модуль io был обратно портирован в последние версии Python 2, поэтому в Python 2 также при желании можно использовать систему ввода-вывода, аналогичную Python 3.отоками. Файловые объекты являются контекстными менеджерами.

Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
✈️Парсинг с помощью Python. Веб-скрапинг в действии [2025]

Если программирование – магия, то веб-скрапинг – настоящее колдовство. Написав простую автоматизированную программу, можно отправлять запросы веб-серверам, получать ответы с данными, а затем анализировать эти данные и извлекать необходимую информацию. Это обновленное третье издание книги не только познакомит вас с веб-скрапингом, но и послужит исчерпывающим руководством по сбору практически любых видов данных в современном Интернете. В части I основное внимание уделено механике веб-скрапинга: как с помощью Python отправлять запросы веб-серверам, обрабатывать ответы и автоматизировать взаимодействие с сайтами. В части II исследуются более конкретные инструменты и приложения, которые пригодятся при любом сценарии веб-скрапинга.


➡️ Ссылка на книгу

➡️ Подготовка Python | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Что такое модуль

Ответ:
Модуль – функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной её части. Модули позволяют разбивать сложные задачи на более мелкие в соответствии с принципом модульности. Файл, который содержит исходный код на языке Python, является модулем. Модули могут объединяться в пакеты и, далее, в библиотеки.

Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤯1
🤩 Django 5 в примерах [2024, ENG]

Это пятое издание бестселлера, который поможет вам создавать реальные веб-приложения. Эта книга проведет вас через планирование и создание, решение типичных проблем и внедрение лучших практик, используя пошаговый подход. Вы рассмотрите широкий спектр тем разработки веб-приложений на примере четырех различных проектов: блог-приложения, социального сайта, приложения для электронной коммерции и платформы для электронного обучения. Узнайте, что нового появилось в Django 5, создавая сквозные веб-приложения на Python, следуя подробным планам проектов и понимая, как и почему работает Django.


➡️ Ссылка на книгу

➡️ Подготовка Python | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Как итерировать словарь по парам ключ-значение

Ответ:
Метод словаря .items() возвращает генератор кортежей (key, value).

Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤯1
Репозиторий с подборкой примеров паттернов проектирования на Python

К каждому паттерну добавили краткое описание, внутри — примеры кода с объяснением, почему нужно сделать именно так

➡️ Ссылка на репо

➡️ Подготовка Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
✈️ Полный курс по Python [2022]

В этом курсе вы изучите основные принципы Python и его ключевые функции, которые востребованы в реальных проектах. Практика будет проходить через интерпретатор Python, VS Code и Code Runner.

Вы освоите: переменные, списки, словари, классы, циклы, модули и создание виртуальных сред, а также функциональный и объектно-ориентированный подходы.

Курс подходит как для новичков, так и для специалистов, которые хотят укрепить свои знания.


➡️ Скачать курс

➡️ Подготовка Python | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Может ли быть индекс списка отрицательным?

Ответ:
Да, индекс списка может быть отрицательным. В таком случае, отрицательное значение считается от конца списка, где -1 соответствует последнему элементу, -2 — предпоследнему элементу и так далее.

Например, чтобы получить последний элемент списка my_list в Python, можно использовать следующую команду:

last_element = my_list[-1]
Также можно использовать отрицательные значения для срезов (slicing) списка, например:

my_list[-3:] # вернет последние три элемента списка
my_list[:-2] # вернет все элементы списка, кроме последних двух
my_list[::-1] # вернет список в обратном порядке
Но следует учесть, что если индекс отрицательный и его абсолютное значение больше или равно длине списка, будет возбуждено исключение IndexError.


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤯3
Как просмотреть методы объекта?

Ответ:
Чтобы посмотреть все методы и атрибуты, связанные с определенным объектом в Python, можно использовать функцию dir(). Она принимает объект в виде аргумента и возвращает список имен всех атрибутов и методов объекта.

Например, если нужно увидеть все методы и атрибуты, связанные с объектом my_list, следующее:

my_list = [1, 2, 3]
print(dir(my_list))
Это выведет список всех методов и атрибутов, которые можно использовать с объектом my_list.


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤯1
Python полностью поддерживает ООП?

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

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

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


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Как проверить файл .py на синтаксические ошибки, не запуская его?

Утилита py_compile, позволит проверить файл .py на наличие синтаксических ошибок без его запуска.

Используется py_compile очевидно:

открываем командную строку/терминал.
переходим в каталог, содержащий файл .py, который вы хотите проверить
выполняем: python -m py_compile
yourfile.py
где
yourfile.py – это имя файла, который вы хотите проверить.
Эта команда выполнит проверку файла и выведет описание любых синтаксических ошибок, которые были найдены, или пустой вывод, если ошибок нет.

Когда это может быть полезно? Например, если код большой и в процессе задействует много ресурсов, а нужно всего лишь удостовериться в его валидности.


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯3🔥2
Для чего используется дандер-метод init?

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

Внутри функции init определяются атрибуты объекта, которые будут доступны через
ссылку на экземпляр, на который ссылается переменная self.

Например, пусть каждый экземпляр класса Person создаётся с атрибутами name и age:


class Person:
def __init__(self, name, age):
self.name = name
self.age = age

person1 = Person("John", 30)
person2 = Person("Alice", 25)
print(
person1.name) # output: John
print(person2.age) # output: 25


Тут функция init инициализирует атрибуты name и age для каждого экземпляра, создаваемого с помощью класса Person.
Когда мы создаем новый объект, мы передаем эти аргументы в функцию init, чтобы инициализировать соответствующие атрибуты.


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое синхронный код?

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

Примером синхронного кода в Python может служить следующий фрагмент, который содержит цикл while, обрабатывающий список элементов:

items = [1, 2, 3, 4, 5]

for item in items:
print(item)

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

Выполнение синхронного кода может занять много времени и может вызвать проблемы с производительностью, особенно когда код выполняет блокирующие операции, такие как чтение и запись файлов, обращение к сети, или поиск значений в базе данных. Для решения этой проблемы в Python используют асинхронное программирование с использованием конструкций async/await и библиотеки asyncio. Они позволяют выполнять несколько задач асинхронно, не блокируя выполнение других задач, и добиваться более высокой производительности.


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4🤯2
Для чего нужен метод id()?

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

Например, если у вас есть две переменные, которые ссылаются на один и тот же объект, то их идентификаторы будут равны:

a = [1, 2, 3]
b = a
print(id(a)) # выведет адрес в памяти объекта a
print(id(b)) # выведет адрес в памяти объекта b

Однако, если у вас есть две переменные, которые ссылаются на разные объекты, их идентификаторы будут отличаться:

a = [1, 2, 3]
b = [1, 2, 3]
print(id(a)) # выведет адрес в памяти объекта a
print(id(b)) # выведет адрес в памяти объекта b (отличный от идентификатора a)

Использование метода id() может быть полезно при отладке или проверке, какие переменные ссылаются на один и тот же объект. Однако, в общем случае, использование метода id() не рекомендуется, поскольку это может быть неэффективным при работе с большим количеством объектов в памяти.


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯2🔥1
Для чего используется ключевое слово yield?

Ключевое слово yield используется для создания генераторов.

Генератор – это функция, которая может возвращать последовательность значений используя инструкции yield вместо return. При каждом вызове инструкции yield генератор возвращает значение, после чего сохраняет свое состояние и приостанавливает свое выполнение до следующего вызова.

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


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🤯1
Что такое контекстный менеджер?

Контекстный менеджер в Python – это объект, который определяет вход и выход из контекста с помощью методов enter() и exit().

Контекстный менеджер может быть использован в блоке with для выполнения конкретных действий при входе и выходе из блока. Например, контекстный менеджер может устанавливать и закрывать соединение с базой данных, блокировать и разблокировать файлы или временно изменять настройки системы.

Вот простой пример, демонстрирующий использование контекстного менеджера для работы с файлом:

with open('file.txt', 'r') as f:
data =
f.read()
В этом примере open() возвращает контекстный менеджер f. Когда блок with начинается, вызывается метод enter() контекстного менеджера, который открывает файл.
Затем выполняется код в блоке, который использует f для чтения данных из файла. При завершении блока with вызывается метод exit() контекстного менеджера, который закрывает файл.

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


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
Как сделать python-скрипт исполняемым в различных операционных системах?

Для того чтобы сделать Python-скрипт исполняемым в различных операционных системах, можно воспользоваться утилитой PyInstaller, которая позволяет упаковать скрипт в исполняемый файл для Windows, Linux и macOS.

Чтобы установить PyInstaller, можно выполнить следующую команду в командной строке:
pip install pyinstaller

После установки PyInstaller необходимо перейти в директорию с Python-скриптом и запустить утилиту с соответствующими параметрами для создания исполняемого файла. Например:
pyinstaller
myscript.py --onefile

Эта команда создаст единый исполняемый файл myscript.exe (для Windows) или myscript (для Linux/macOS), который можно запустить на соответствующих операционных системах.

Если нужно создать исполняемый файл с определенными параметрами, можно воспользоваться другими параметрами PyInstaller, такими как --icon для добавления иконки, --name для задания имени исполняемого файла и т.д.
Но стоит отметить, что PyInstaller не является универсальным решением и возможна потребность в использовании других инструментов в зависимости от конкретной задачи и требований к исполняемому файлу.


Если знали ответ — поставьте 🔥
Если нет — 🤯

➡️ Подготовка Python | #вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
✈️ Безопасность веб-приложений на Python [2023]

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

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


➡️Ссылка на книгу

➡️ Подготовка Python | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM