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
Функция isinstance() проверяет, является ли объект экземпляром указанного класса или его подкласса, возвращая True или False. Это полезно для проверки типов данных и обеспечения корректности работы программы с различными объектами.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍5
Множество создается с помощью функции set() или с использованием фигурных скобок {}. Оно хранит уникальные элементы и не сохраняет порядок их добавления.


# Создание множества с уникальными элементами
unique_numbers = {1, 2, 3, 4, 5}

# Создание множества из списка
unique_fruits = set(["apple", "banana", "apple", "orange"])


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

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3
💥Декораторы — это функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию с расширенной функциональностью. Они часто используются для добавления поведения к существующим функциям без изменения их кода.

Пример простого декоратора:


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

@simple_decorator
def say_hello():
print("Привет!")

# Вызов функции
say_hello()


🔸В этом примере simple_decorator добавляет вывод текста до и после вызова функции say_hello.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥1
Для получения размера файла используется функция os.path.getsize(), которая возвращает размер файла в байтах. Необходимо передать путь к файлу в качестве аргумента этой функции.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9💯1
🔘Создание экземпляра класса осуществляется путем вызова класса как функции. Это вызывает метод __init__, который инициализирует новый объект.


class Dog:
def __init__(self, name):
self.name = name

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

# Доступ к атрибуту экземпляра
print(my_dog.name) # Выводит: Buddy


🔘В этом примере создается класс Dog с атрибутом name. Экземпляр my_dog создается с именем "Buddy", и доступ к его атрибуту осуществляется через my_dog.name.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124
✖️ Файл init.py играет важную роль в Python-пакетах. Он указывает интерпретатору Python, что директория, содержащая этот файл, должна рассматриваться как пакет. Это позволяет импортировать модули из этой директории.

✖️ В Python 3.3 и выше init.py не обязателен для создания пакетов, но его наличие может быть полезным. Он может содержать код инициализации пакета или устанавливать переменные, доступные при импорте пакета.

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

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12💯5🔥2
Паттерн Builder используется для пошагового создания сложных объектов. Он позволяет отделить процесс конструирования объекта от его представления. В Python можно реализовать этот паттерн, используя классы и методы для поэтапного построения объекта.


class Product:
def __init__(self):
self.parts = []

def add(self, part):
self.parts.append(part)

def show(self):
return ', '.join(self.parts)

class Builder:
def __init__(self):
self.product = Product()

def build_part_a(self):
self.product.add("Part A")

def build_part_b(self):
self.product.add("Part B")

def get_result(self):
return self.product

# Пример использования
builder = Builder()
builder.build_part_a()
builder.build_part_b()
product = builder.get_result()
print(product.show()) # Вывод: Part A, Part B


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

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
Функция locals() возвращает словарь, содержащий все локальные переменные текущей области видимости, что позволяет динамически получать доступ к ним. Это особенно полезно для отладки и анализа текущего состояния программы, так как предоставляет снимок всех переменных и их значений в данной точке выполнения.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4
👉 Если исключение не будет обработано, программа завершится с ошибкой. Это приведет к выводу трассировки стека, которая показывает последовательность вызовов функций, приведших к ошибке. Это может быть полезно для отладки, но в продакшн-коде нужно обрабатывать исключения, чтобы избежать неожиданного завершения программы и предоставить пользователю более понятное сообщение об ошибке.


def divide(a, b):
return a / b

# Вызов функции с делением на ноль
result = divide(10, 0)


В этом случае программа завершится с ZeroDivisionError.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥21
asyncio.run() используется для запуска основной асинхронной функции и управления событием, обеспечивая автоматическое создание и завершение цикла событий. Это упрощает запуск асинхронного кода, гарантируя, что все задачи завершены до выхода из программы.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍2
return и yield — ключевые слова, используемые для возврата значений из функций, но с разными целями.

😎return завершает выполнение функции и возвращает значение. После return выполнение функции прекращается.

def example_return():
return 42 # Возвращает 42 и завершает функцию


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

def example_yield():
yield 42 # Возвращает 42, но не завершает функцию
yield 43 # Возвращает 43 при следующем вызове


yield позволяет создавать итераторы, возвращая значения по одному.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍204
Существует несколько способов сделать это:

1️⃣ Использование метода list.copy():
original_list = [1, 2, 3]
copied_list = original_list.copy()
# Создает поверхностную копию списка


2️⃣ Использование срезов:
original_list = [1, 2, 3]
copied_list = original_list[:]
# Создает поверхностную копию списка


3️⃣ Использование функции list():
original_list = [1, 2, 3]
copied_list = list(original_list)
# Создает поверхностную копию списка


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4
Основные отличия между unittest и pytest заключаются в их подходе к написанию тестов и функциональности: unittest — это встроенный модуль Python, который требует создания классов для тестов и использования определенных методов, тогда как pytest предлагает более простой и гибкий синтаксис, поддерживает фикстуры и плагины, что делает его более удобным для написания и расширения тестов. Pytest также автоматически обнаруживает тесты и предоставляет более подробные отчеты об ошибках, что упрощает процесс отладки.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥5
Функция globals() возвращает словарь, представляющий текущую глобальную таблицу символов. Этот словарь содержит все глобальные переменные и их значения, доступные в текущем модуле.

Пример использования:


x = 10
y = 20

def show_globals():
# Получение глобальных переменных
global_vars = globals()
# Вывод значения переменной x
print(global_vars['x']) # Выведет 10

show_globals()


globals() полезна для динамического доступа и изменения глобальных переменных, но следует использовать её с осторожностью, чтобы избежать сложностей в отладке и поддержке кода.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142
Для добавления элемента в конец списка используется метод append(), который принимает один аргумент — элемент, который необходимо добавить. Этот метод изменяет исходный список, добавляя новый элемент в его конец.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👀21
📌 Функция format() используется для форматирования строк, позволяя вставлять значения в строку с помощью плейсхолдеров {}. Она поддерживает позиционные и именованные аргументы, а также предоставляет возможность задавать форматирование для чисел, дат и других типов данных.

Пример использования:


name = "Alice"
age = 30
formatted_string = "Имя: {}, Возраст: {}".format(name, age)
print(formatted_string) # Вывод: Имя: Alice, Возраст: 30


Также можно использовать именованные аргументы:


formatted_string = "Имя: {name}, Возраст: {age}".format(name="Bob", age=25)
print(formatted_string) # Вывод: Имя: Bob, Возраст: 25


Функция format() позволяет гибко управлять выводом данных, делая код более читаемым и поддерживаемым.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥32🤩1
Оператор break используется для выхода из цикла for или while, прерывая его выполнение, когда выполнено определенное условие. Его часто применяют для оптимизации работы цикла, чтобы избежать ненужных итераций после достижения нужного результата.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3
🔥 F-строки — это удобный способ форматирования строк, представленный в версии 3.6. Они позволяют встраивать выражения Python прямо в строковые литералы, что делает код более читаемым и лаконичным.

Для создания f-строки используется префикс f перед строкой. Внутри строки выражения заключаются в фигурные скобки {}.

name = "Alice"
age = 30
# Вставка переменных в строку
info = f"My name is {name} and I am {age} years old."
print(info) # Вывод: My name is Alice and I am 30 years old.


F-строки поддерживают любые выражения, включая вызовы функций и операции:

# Вызов функции внутри f-строки
result = f"The sum of 2 and 3 is {2 + 3}."
print(result) # Вывод: The sum of 2 and 3 is 5.


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

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

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