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

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

Backend - @frontview_backend
Python работа - @frontview_python_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
📌 Операторы присваивания используются для сохранения значений в переменных. Основной оператор присваивания — это =, который присваивает значение справа переменной слева. Например, x = 5 присваивает переменной x значение 5.

🟢Существуют также комбинированные операторы присваивания, которые упрощают операции с переменными. Например, += добавляет значение справа к переменной слева и сохраняет результат в этой же переменной. Пример: x += 3 эквивалентно x = x + 3.

🟢Другие комбинированные операторы включают -=, *=, /=, %=, **=, //=, которые выполняют соответствующие арифметические операции и присваивают результат переменной.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141🔥1
Кортежи и списки — это встроенные структуры данных в Python, но они имеют ключевые различия.

1️⃣ Кортежи (tuple) неизменяемы, то есть после создания их элементы нельзя изменить, добавить или удалить. Это делает кортежи более безопасными для данных, которые не должны изменяться. Кортежи создаются с помощью круглых скобок: my_tuple = (1, 2, 3).

2️⃣ Списки (list) изменяемы, что позволяет добавлять, удалять или изменять элементы. Списки создаются с помощью квадратных скобок: my_list = [1, 2, 3].

✏️ Из-за неизменяемости кортежи могут быть более производительными и использоваться в качестве ключей в словарях, в отличие от списков. Выбор между кортежами и списками зависит от необходимости изменения данных.

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

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

🔘Создание множества:
my_set = {1, 2, 3}


🔘Добавление элемента:
my_set.add(4)


🔘Удаление элемента:
my_set.remove(2)


🔘Объединение:
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2 # {1, 2, 3, 4, 5}


🔘Пересечение:
intersection_set = set1 & set2  # {3}


🔘Разность:
difference_set = set1 - set2  # {1, 2}


🔘Множества обеспечивают быструю проверку принадлежности:
if 3 in my_set:
print("Yes")


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥2
Для преобразования данных из одного типа в другой используются встроенные функции:

🔘str() - конвертация в строку
🔘int() - в целое число
🔘float() - в число с плавающей точкой
🔘list() - в список
🔘tuple() - в кортеж
🔘set() - в множество
🔘dict() - в словарь

Примеры:
number = int("42")  # строка в число
text = str(42) # число в строку
numbers = list((1, 2, 3)) # кортеж в список
unique = set([1, 1, 2, 3]) # список в множество


При конвертации важно учитывать совместимость типов. Например, нельзя преобразовать строку "abc" в число, это вызовет ValueError.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1732
📖 Словарь — это изменяемая коллекция, которая хранит пары "ключ-значение". Каждый ключ уникален и используется для доступа к соответствующему значению. Словари оптимизированы для быстрого поиска, добавления и удаления элементов.

🟠Создание словаря осуществляется с помощью фигурных скобок или функции dict(). Например: my_dict = {'ключ1': 'значение1', 'ключ2': 'значение2'}.

🟢Словари поддерживают методы, такие как get(), keys(), values(), items(), которые упрощают работу с данными.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥21
Циклы for и while в Python используются для повторения блоков кода, но различаются в подходе.

😎 Цикл for итерируется по элементам последовательности (например, списку или строке). Он удобен, когда количество итераций заранее известно. Пример:

for i in range(5):
print(i)


😎 Цикл while выполняется, пока условие истинно. Он подходит, когда количество итераций заранее неизвестно. Пример:

i = 0
while i < 5:
print(i)
i += 1


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥5👀1
*args и **kwargs в Python позволяют передавать функции переменное количество аргументов.

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

def sum_all(*args):
return sum(args)

print(sum_all(1, 2, 3)) # Вывод: 6


🔘**kwargs позволяет передавать произвольное количество именованных аргументов, которые собираются в словарь.

def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

print_info(name="Alice", age=30)


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍284🔥2
Класс — это шаблон для создания объектов. Он определяет набор атрибутов и методов, которые будут у объектов, созданных на его основе. Классы позволяют организовать код, делая его более структурированным и повторно используемым.

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

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

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

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

🟠Пакет — это директория, содержащая файл __init__.py, который может быть пустым или содержать код для инициализации пакета. Этот файл указывает Python, что директория является пакетом, и позволяет импортировать модули внутри нее.

🟡Пакеты помогают избежать конфликтов имен и упрощают управление большими проектами, предоставляя возможность логически структурировать код. Они также поддерживают повторное использование кода, облегчая его распространение и установку через менеджеры пакетов, такие как pip.

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

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

В Python инкапсуляция достигается с помощью соглашений об именовании. Атрибуты, начинающиеся с одного подчеркивания (например, _attribute), считаются защищенными и не предназначены для прямого доступа. Два подчеркивания (например, __attribute) используются для создания приватных атрибутов, которые автоматически переименовываются интерпретатором Python для предотвращения их случайного доступа.

class Example:
def __init__(self):
self._protected = "Protected"
self.__private = "Private"

def get_private(self):
return self.__private

obj = Example()
print(obj._protected) # Доступ разрешен, но не рекомендуется
print(obj.get_private()) # Правильный способ доступа к приватному атрибуту


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍182
Инструкция pass в Python представляет собой пустое действие. Она используется как заглушка в тех местах, где синтаксис требует наличие инструкции, но логика программы еще не реализована.

Применение pass актуально в следующих случаях:

1️⃣ Создание минимального класса или функции.
2️⃣ Заготовки для будущих блоков кода.
3️⃣ Оставление тела цикла или условия пустым до разработки полной функциональности.

def placeholder_function():
pass


⬆️В этом примере функция placeholder_function не выполняет никаких действий, но синтаксически корректна и может быть дополнена позже.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍202🔥1
📝 ORM (Object-Relational Mapping) — это технология, которая позволяет разработчикам взаимодействовать с реляционными базами данных, используя объектно-ориентированные парадигмы. ORM автоматически преобразует данные между несовместимыми типами систем, что упрощает работу с базами данных и делает код более читаемым и поддерживаемым.

1️⃣ SQLAlchemy — мощная и гибкая библиотека, поддерживающая различные базы данных.
2️⃣ Django ORM — встроенная в Django фреймворк, простая в использовании.
3️⃣ Peewee — легковесная и простая ORM для небольших проектов.

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

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

🔘Когда исключение возникает, Python создает объект исключения и ищет блок try-except, который может его обработать. Если такой блок не найден, программа завершает выполнение, и стек вызовов выводится в консоль, показывая, где именно произошла ошибка.

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

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


🔘В этом коде деление на ноль вызовет исключение ZeroDivisionError, и программа завершится с ошибкой, если исключение не будет обработано.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥3🤔1
Тип данных float в Python используется для представления чисел с плавающей точкой, что позволяет работать с дробными числами и выполнять операции с высокой точностью. Однако при работе с float следует учитывать возможные ошибки округления из-за ограниченной точности представления чисел в двоичной системе.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
Для работы с JSON-файлами используется модуль json. Он позволяет сериализовать объекты.

➡️ Чтение JSON из файла:

import json

with open('data.json', 'r') as file:
data = json.load(file)


➡️ Запись JSON в файл:

import json

data = {'name': 'Alice', 'age': 30}

with open('data.json', 'w') as file:
json.dump(data, file, indent=4)


Методы json.load() и json.dump() работают с файлами, а json.loads() и json.dumps() — со строками.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍171
Словари — это изменяемые коллекции, которые хранят пары "ключ-значение", обеспечивая быстрый доступ к данным по ключу. Ключи в словаре должны быть уникальными и неизменяемыми, такими как строки или числа.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥31
Python собеседования pinned «ℹ️Подписывайся на наши новые каналы! 🖥 JS собеседования 🖥 Backend собеседования»
🔘Определение класса-наследника в позволяет расширять функциональность существующего класса. Для этого используется механизм наследования, который позволяет новому классу (наследнику) получать свойства и методы родительского класса.

class Animal:
def speak(self):
return "Some sound"

class Dog(Animal):
def speak(self):
return "Bark"

dog = Dog()
print(dog.speak()) # Выведет: Bark


🔘В этом примере класс Dog наследует от класса Animal и переопределяет метод speak. Это позволяет классу Dog иметь свою реализацию метода, сохраняя при этом доступ к другим методам и атрибутам родительского класса.

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

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

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

# Создание списка из строки
string = "hello"
list_from_string = list(string) # ['h', 'e', 'l', 'l', 'o']

# Создание списка из кортежа
tuple_data = (1, 2, 3)
list_from_tuple = list(tuple_data) # [1, 2, 3]

# Создание пустого списка
empty_list = list() # []


list() полезна для преобразования итерируемых объектов в списки для дальнейшей обработки.

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

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