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

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

Backend - @frontview_backend
Python работа - @frontview_python_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
✔️ Для открытия файла для чтения используется функция open() с режимом 'r'. Этот режим позволяет читать содержимое файла.


file = open('example.txt', 'r')
content = file.read() # Чтение всего содержимого файла
file.close() # Закрытие файла


Рекомендуется использовать конструкцию with, чтобы автоматически закрыть файл после завершения работы с ним.


with open('example.txt', 'r') as file:
content = file.read() # Файл автоматически закроется после выхода из блока


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
Метод __new__() отвечает за создание нового экземпляра класса. Он вызывается перед __init__() и возвращает новый объект. Этот метод редко переопределяется, но полезен при работе с неизменяемыми типами или при необходимости контролировать создание объектов.


class Singleton:
_instance = None

def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance


В этом примере __new__() используется для реализации паттерна Singleton. При каждом вызове конструктора возвращается один и тот же экземпляр класса. Если экземпляр уже существует, новый не создается. Это демонстрирует, как __new__() может управлять процессом создания объектов.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
👉 Функция enumerate() в цикле for позволяет одновременно получать индекс элемента и сам элемент при итерации по последовательности. Это удобно, когда нужно знать не только значение, но и его позицию.


fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit)


В данном примере enumerate() возвращает кортежи, где первый элемент — это индекс, а второй — значение из списка. По умолчанию индексация начинается с 0, но можно указать стартовое значение через параметр start.


for index, fruit in enumerate(fruits, start=1):
print(index, fruit)


Таким образом, enumerate() упрощает код, избавляя от необходимости вручную управлять индексом.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
RESTful API — это архитектурный стиль, основанный на принципах REST (Representational State Transfer), который использует стандартные HTTP-методы (GET, POST, PUT, DELETE) для взаимодействия с ресурсами. В отличие от других типов API, таких как SOAP или RPC, RESTful API ориентирован на простоту, масштабируемость и использование единого интерфейса для работы с данными.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
▶️Литералы в Python — это фиксированные значения, которые используются в коде без вычисления. Они представляют собой непосредственные данные, записанные в программе. Основные типы литералов:

1. Числовые литералы: целые числа, числа с плавающей точкой, комплексные числа.

42 # целое число
3.14 # число с плавающей точкой
2 + 3j # комплексное число


2. Строковые литералы: последовательности символов, заключенные в кавычки.

"Hello, World!" # строка в двойных кавычках
'Python' # строка в одинарных кавычках


3. Булевы литералы: значения True и False.

True # истина
False # ложь


4. Специальный литерал: None, обозначающий отсутствие значения.

None # отсутствие значения


5. Коллекции: списки, кортежи, словари, множества.

[1, 2, 3] # список
(1, 2, 3) # кортеж
{'a': 1, 'b': 2} # словарь
{1, 2, 3} # множество


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

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103
Логирование исключений выполняется с помощью модуля logging, который позволяет записывать информацию об ошибках в файл или выводить в консоль. В блоке except используется метод logging.exception() для автоматического добавления трассировки стека к сообщению об ошибке.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
▶️Конструктор в классе определяется с помощью метода __init__. Этот метод автоматически вызывается при создании объекта класса и используется для инициализации атрибутов.


class MyClass:
def __init__(self, value):
self.value = value # Инициализация атрибута


Первый параметр self ссылается на текущий экземпляр класса. Остальные параметры передаются при создании объекта.


obj = MyClass(10) # Создание объекта с передачей аргумента


Конструктор может быть пустым, если инициализация не требуется.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
🟠Глобальная переменная объявляется вне функций и доступна во всем коде. Для изменения глобальной переменной внутри функции используется ключевое слово global.


x = 10 # Глобальная переменная

def modify_global():
global x # Указываем, что используем глобальную переменную
x = 20 # Изменяем её значение

modify_global()
print(x) # Выведет 20


Без global внутри функции создается локальная переменная, даже если имя совпадает с глобальной. Использование global позволяет изменять значение глобальной переменной напрямую.

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

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

1. Перевод строки в верхний регистр:

text = "Hello, World!"
upper_text = text.upper()
# Результат: "HELLO, WORLD!"


2. Перевод строки в нижний регистр:

text = "Hello, World!"
lower_text = text.lower()
# Результат: "hello, world!"


3. Инверсия регистра:

text = "Hello, World!"
swapped_text = text.swapcase()
# Результат: "hELLO, wORLD!"


4. Каждое слово с заглавной буквы:

text = "hello world"
title_text = text.title()
# Результат: "Hello World"


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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
Длину строки или списка можно получить с помощью функции len(), которая возвращает количество элементов в последовательности. Для строки это количество символов, для списка — количество элементов.

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


def greet(name, message):
print(f"{message}, {name}!")

greet("Alice", "Hello") # Позиционная передача
greet(message="Hi", name="Bob") # Именованная передача


В Python также поддерживаются аргументы по умолчанию, которые используются, если значение не передано явно. Переменное количество аргументов можно обработать с помощью *args и **kwargs.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91😎1
👉 Для удаления всех элементов из списка можно использовать метод clear(), который полностью очищает список. Альтернативно, можно присвоить списку пустой список с помощью среза или оператора присваивания.


my_list = [1, 2, 3]
my_list.clear() # Очистка списка
my_list = [1, 2, 3]
my_list[:] = [] # Очистка с использованием среза


Оба способа удаляют все элементы, но метод clear() является более явным и читаемым.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
Для записи данных в бинарный файл используется режим 'wb' при открытии файла с помощью функции open(). Данные записываются методом write(), предварительно преобразованные в байты с использованием модуля struct или методов encode для строк.

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


numbers = [10, 20, 5, 30]
min_value = min(numbers) # Находит минимальное значение (5)
max_value = max(numbers) # Находит максимальное значение (30)


Также можно передать ключевой параметр key для определения критерия сравнения, например, для поиска минимальной или максимальной строки по длине.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
Булевы значения — это тип данных, который может принимать только два значения: True (истина) и False (ложь). Они часто используются для проверки условий, управления потоком выполнения программы и в логических операциях.


x = 10
y = 20
is_greater = x > y # Сравнение, результат будет False
if is_greater:
print("x больше y") # Этот блок не выполнится
else:
print("x не больше y") # Выведет "x не больше y"


Булевы значения также могут быть результатом логических операций, таких как and, or и not.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👨‍💻3
Функция lambda используется для создания анонимных функций, которые могут быть определены в одной строке и применяются для простых операций. Она часто используется в сочетании с функциями высшего порядка, такими как map, filter или sorted, для краткости и удобства.

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
🟠Блок try используется для обработки исключений и предотвращения аварийного завершения программы. Код внутри try выполняется, и если возникает ошибка, управление передается в блок except, где можно обработать исключение.


try:
result = 10 / 0 # Попытка деления на ноль
except ZeroDivisionError:
result = "Ошибка: деление на ноль" # Обработка исключения
print(result) # Выведет "Ошибка: деление на ноль


Блок finally можно добавить для выполнения кода независимо от того, произошло исключение или нет.

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
▶️ Метод extend() используется для добавления элементов из одного списка в конец другого. В отличие от append(), который добавляет весь объект как один элемент, extend() добавляет каждый элемент итерируемого объекта по отдельности.


list1 = [1, 2, 3]
list2 = [4, 5]
list1.extend(list2) # Добавляет элементы из list2 в list1
print(list1) # Результат: [1, 2, 3, 4, 5]


Этот метод изменяет исходный список и не возвращает новый.

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

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

✈️ Python собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Генератор — это функция, которая возвращает итератор и позволяет поэлементно генерировать значения с помощью ключевого слова yield. В отличие от обычных функций, генератор сохраняет состояние между вызовами и не вычисляет все элементы сразу, что полезно для работы с большими объемами данных.


def generate_numbers():
for i in range(3):
yield i # Возвращает значение и приостанавливает выполнение

for num in generate_numbers():
print(num) # Поочередно выведет 0, 1, 2


Генераторы экономят память, так как элементы создаются "на лету".

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

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