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
Для преобразования данных из одного типа в другой используются встроенные функции:

🔘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
➡️ Обычные функции выполняются полностью при вызове и возвращают одно значение с помощью оператора return. Они сохраняют состояние только до завершения выполнения.

➡️ Генераторы, напротив, используют ключевое слово yield, которое позволяет функции возвращать значение и приостанавливать выполнение. Это позволяет сохранять состояние между вызовами, что делает их идеальными для работы с большими данными или потоками, где требуется ленивое вычисление.

def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1


➡️ Генераторы экономят память, так как не хранят все значения в памяти одновременно, а создают их по мере необходимости.

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

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

*️⃣ Для создания пустого списка используется квадратные скобки:

my_list = []


*️⃣ Чтобы создать список с элементами, перечисляются элементы через запятую:

my_list = [1, 2, 3, 'a', 'b', 'c']


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥2👀1
Pip — это пакетный менеджер для Python, который используется для установки и управления программными пакетами, написанными на Python. Он позволяет легко устанавливать библиотеки и их зависимости из репозитория Python Package Index (PyPI).

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