Python собеседования
1.95K subscribers
340 photos
453 links
Подготовка к собеседованиям на позицию Python-разработчик

Еще больше на сайте https://frontview-it.ru

Backend - @frontview_backend
Python работа - @frontview_python_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
🟥 Для преобразования строки в число используется функция int() для целых чисел и float() для чисел с плавающей точкой:


# Преобразование строки в целое число
num = int("42")

# Преобразование строки в число с плавающей точкой
flt = float("3.14")


Для обратного преобразования, из числа в строку, применяется функция str():


# Преобразование целого числа в строку
num_str = str(42)

# Преобразование числа с плавающей точкой в строку
flt_str = str(3.14)


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2💯2
Закрытие файла освобождает системные ресурсы и гарантирует, что все данные записаны на диск. Это достигается вызовом метода close() или использованием конструкции with, которая автоматически закрывает файл после завершения блока кода.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
Ключевое слово raise используется для генерации исключений. Оно позволяет прервать выполнение программы и передать управление обработчику исключений.

Пример использования raise для генерации стандартного исключения:


# Генерация исключения ValueError с сообщением
raise ValueError("Некорректное значение")


Можно также создавать пользовательские исключения, наследуя от класса Exception:


# Определение пользовательского исключения
class CustomError(Exception):
pass

# Генерация пользовательского исключения
raise CustomError("Это пользовательская ошибка")


Использование raise помогает управлять ошибками и улучшает читаемость кода.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16💯2
Пакет — это способ организации модулей в иерархическую структуру каталогов, что упрощает управление и повторное использование кода. Пакет представляет собой директорию, содержащую файл __init__.py, который может быть пустым или содержать инициализационный код для пакета.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3
✔️ Перебор ключей и значений словаря можно осуществить с помощью метода items(). Этот метод возвращает представление словаря в виде пар (ключ, значение), что позволяет удобно итерироваться по ним в цикле for.


# Создание словаря
my_dict = {'a': 1, 'b': 2, 'c': 3}

# Перебор ключей и значений
for key, value in my_dict.items():
# Вывод ключа и значения
print(f"Ключ: {key}, Значение: {value}")


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍221
Assert используется для отладки кода, проверяя истинность выражений: если условие ложно, генерируется исключение AssertionError, что помогает быстро выявлять ошибки. Это особенно полезно для тестирования предположений в коде и обеспечения корректности выполнения программы.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
🔥 Модуль importlib предоставляет возможность программно импортировать модули. Это полезно, когда необходимо динамически загружать модули во время выполнения программы.


import importlib

# Импорт модуля math
math_module = importlib.import_module('math')

# Использование функции из импортированного модуля
result = math_module.sqrt(16)
print(result) # Вывод: 4.0


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥3💯1
Функция hash() используется для получения хэш-значения объекта. Она принимает один аргумент и возвращает целое число, представляющее хэш объекта. Хэш-значения полезны для быстрого сравнения и поиска объектов, например, в словарях и множествах.


# Создание строки
text = "Hello, World!"

# Получение хэш-значения строки
hash_value = hash(text)

# Вывод хэш-значения
print(hash_value) # Выводит целое число


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍204🔥3🤔2
Модуль pkgutil используется для работы с пакетами и модулями, предоставляя функции для поиска, загрузки и управления ресурсами внутри пакетов. Он облегчает доступ к данным, встроенным в пакеты, и поддерживает расширение функциональности через механизмы импорта.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2🤔1
🟥 SQLite — это встроенная реляционная база данных, которая не требует отдельного сервера. Она идеально подходит для небольших приложений и прототипов. Библиотека sqlite3 позволяет взаимодействовать с базой данных через SQL-запросы.


import sqlite3

# Подключение к базе данных (создаст файл, если его нет)
conn = sqlite3.connect('example.db')

# Создание курсора для выполнения SQL-запросов
cursor = conn.cursor()

# Создание таблицы
cursor.execute('''CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)''')

# Вставка данных
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")

# Сохранение изменений
conn.commit()

# Закрытие соединения
conn.close()


Этот код демонстрирует создание таблицы, вставку данных и закрытие соединения.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2
RESTful API использует несколько HTTP-методов для взаимодействия с ресурсами:

🧐 GET: Запрашивает данные с сервера. Используется для получения информации о ресурсе без изменения его состояния.

🧐 POST: Отправляет данные на сервер для создания нового ресурса. Обычно используется для добавления новых записей.

🧐 PUT: Обновляет существующий ресурс или создает новый, если он не существует. Применяется для полной замены ресурса.

🧐 PATCH: Частично обновляет ресурс. Используется для изменения отдельных полей.

🧐 DELETE: Удаляет ресурс с сервера. Применяется для удаления записей.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥2
Django — это фреймворк с полным набором инструментов, предоставляющий множество встроенных функций, таких как ORM, аутентификация и админ-панель, что делает его подходящим для крупных проектов.

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


✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
🔥 Метод init() является конструктором класса и вызывается автоматически при создании нового экземпляра. Он инициализирует объект, задавая начальные значения атрибутов.


class Dog:
def __init__(self, name, age):
# Инициализация атрибутов name и age
self.name = name
self.age = age

# Создание экземпляра класса Dog
my_dog = Dog("Buddy", 3)


В этом примере init() устанавливает имя и возраст собаки при создании объекта.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍232🔥2
▶️ Копию списка можно создать с помощью срезов или встроенной функции list(). Эти методы создают новый объект, содержащий те же элементы, что и оригинальный список.


original_list = [1, 2, 3, 4]

# Копирование с использованием срезов
copy_list_slice = original_list[:]

# Копирование с использованием функции list()
copy_list_function = list(original_list)


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥52
Автоматическое тестирование обеспечивает быстрое и повторяемое выполнение тестов, что ускоряет процесс обнаружения и исправления ошибок. Оно также повышает надежность кода, позволяя легко проверять изменения и предотвращать регрессии в функциональности.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4
🟠 Функция sorted() возвращает новый отсортированный список из итерируемого объекта. Она принимает параметры: сам итерируемый объект, key для определения функции сортировки и reverse для указания порядка сортировки.


numbers = [3, 1, 4, 1, 5, 9]

# Сортировка по возрастанию
sorted_numbers = sorted(numbers)

# Сортировка по убыванию
sorted_numbers_desc = sorted(numbers, reverse=True)

# Сортировка строк по длине
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words, key=len)


Параметр key позволяет задавать пользовательскую логику сортировки, а reverse определяет направление.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134
Ключевое слово nonlocal используется для обозначения переменной в родительской функции, которая будет изменена внутри вложенной функции. Это позволяет избежать создания новой локальной переменной и работать с переменной из внешней области видимости.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
*args позволяет функции принимать произвольное количество позиционных аргументов, которые собираются в кортеж. Это удобно, когда количество входных данных неизвестно заранее.


def sum_all(*args):
return sum(args) # Суммирование всех переданных аргументов

result = sum_all(1, 2, 3, 4) # Вернет 10


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142
Для копирования файла используется функция shutil.copy() из модуля shutil, которая копирует содержимое файла из одного места в другое. Она принимает два аргумента: путь к исходному файлу и путь к месту назначения, создавая копию файла с тем же именем.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102🔥1
😊 Декоратор применяется к функции с помощью символа @, за которым следует имя декоратора перед определением функции. Это позволяет обернуть функцию дополнительной логикой без изменения её исходного кода.


def my_decorator(func):
def wrapper():
print("Перед вызовом функции")
func()
print("После вызова функции")
return wrapper

@my_decorator
def say_hello():
print("Hello!")

say_hello() # Вызов функции с примененным декоратором


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥3