Программистика
Закритий канал
Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager
Показати більше5 596
Підписники
-224 години
+87 днів
-8530 день
Архів дописів
5 594
💻 Вопрос из собеседования: Что такое декоратор? Как написать собственный?
‼️Декоратор в Python - это функция, которая принимает другую функцию в качестве аргумента и расширяет ее функциональность без изменения ее кода. Декораторы могут использоваться для добавления логирования, проверки аутентификации, тайминга выполнения и ещё кучи полезных штук.
👩💻Вот пример создания декоратора:
def my_decorator(func):
def wrapper():
print("Дополнительный код, который исполняется перед вызовом функции")
func()
print("Дополнительный код, который исполняется после вызова функции")
return wrapper
@my_decorator
def say_hello():
print("Привет!")
say_hello()
# Дополнительный код, который исполняется перед вызовом функции
# Привет!
# Дополнительный код, который исполняется после вызова функции
Этот код создает декоратор my_decorator, который добавляет дополнительный код до и после выполнения функции say_hello(). Декоратор применяется к say_hello() с помощью синтаксиса @my_decorator.
Таким образом, написав свой собственный декоратор, вы можете расширить функциональность функций, не изменяя их исходный код.
👩💻Вот, к примеру, декоратор, который позволяет измерять время выполнения функции:
from time import time
def executiontime(func):
def wrapper():
start = time()
func()
end = time()
print(f'Функция {func} выполнялась: {end - start} сек')
return wrapper
@executiontime
def create_tuple():
return tuple(range(10**7))
create_tuple()
➡️Суть двумя словами: по сути декоратор принимает на вход другую функцию и позволяет её модифицировать снаружи, не меняя внутренней реализации самой функции. Кстати, один из полезнейших декораторов — @njit() из библиотеки numba, позволяет космически ускорить Python.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
5 594
💸Написание Торгового Бота на Python
Торговые боты становятся все более популярными среди трейдеров и инвесторов, позволяя им автоматизировать стратегии торговли и управлять портфелем. В этой статье я расскажу, как создать своего торгового бота на Python с использованием библиотеки ccxt, которая обеспечивает доступ к различным биржевым API.
🗣Установка необходимых библиотек
🗣Подключение к API биржи
🗣Получение данных о рынке
🗣Разработка стратегии торговли
🗣Управление портфелем
🗣Обработка ошибок и безопасность
🗣Запуск бота
🔗 Читать полностью
@programistica // #article
5 594
🖥 Создание торговых стратегий на Python с использованием библиотеки backtrader
Торговля на финансовых рынках требует не только финансовых знаний, но и умения анализировать данные, прогнозировать тренды и разрабатывать эффективные стратегии. Python становится все более популярным инструментом для автоматизации торговых процессов, благодаря своей гибкости и богатству библиотек для работы с данными и финансовыми инструментами. В этой статье я расскажу о создании и тестировании торговых стратегий на Python с использованием библиотеки backtrader.
🗣Что такое backtrader?
🗣Пример создания простой стратегии
🗣Тестирование стратегии
🔗 Читать полностью
@programistica // #article
5 594
👀 Глубокое обучение с подкреплением
🗣Глубокие Q-сети
🗣Улучшение DQN
🗣Метод актора-критика с преимуществом (А2С)
🗣Оптимизация ближайшей стратегии
🗣SLM Lab
🗣Архитектура сетей
🗣Аппаратное обеспечение
И многое другое
@programistica // #doc
5 594
💻 Вопрос из собеседования: Что хранится в атрибуте dict объекта?
Атрибут
dict содержит словарь, который хранит атрибуты объекта в виде пар ключ-значение. Этот словарь заполняется значениями при создании объекта и может быть изменен позже. Например, если у вас есть объект класса Person, и вы создаете его экземпляр person1, то вы можете добавить новый атрибут age и присвоить ему значение 25 следующим образом:
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello, my name is", self.name)
person1 = Person("Alice")
person1.age = 25
print(person1.__dict__)
Это выведет словарь, содержащий пару ключ-значение {'name': 'Alice', 'age': 25}. Вы можете обратиться к любому атрибуту объекта, используя либо обычную запись person1.name, либо запись, использующую словарь python person1.__dict__["name"].
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print("Hello, my name is", self.name)
person1 = Person("Alice")
person1.age = 25
print(person1.__dict__)
class MyClass:
pass
myclass = MyClass()
myclass.name = 'Steve'
myclass.age = 12
myclass.lastname = 'King'
print(myclass.__dict__)
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
5 594
💻Шпаргалка по NumPy
⏺ИМПОРТ/ЭКСПОРТ
⏺СОЗДАНИЕ МАССИВОВ
⏺ПРОВЕРКА СВОЙСТВ
⏺КОПИРОВАНИЕ/СОРТИРОВКА/ИЗМЕНЕНИЕ ФОРМЫ
⏺ДОБАВЛЕНИЕ/УДАЛЕНИЕ ЭЛЕМЕНТОВ
⏺ОБЪЕДИНЕНИЕ/РАСЩЕПЛЕНИЕ
⏺ИНДЕКСАЦИЯ/НАРЕЗКА/ПОДСТАНОВКА
⏺СКАЛЯРНАЯ МАТЕМАТИКА
⏺ВЕКТОРНАЯ МАТЕМАТИКА
⏺STATISTICS
🔗 Ссылка на шпаргалку
@programistica // #doc
5 594
💻 Вопрос из собеседования: Что такое асинхронный код? Приведите пример.
Асинхронный код - это подход к написанию кода, который позволяет выполнять несколько задач одновременно в рамках одного процесса. Это достигается за счет использования асинхронных функций и корутин. В отличие от синхронного кода, который выполняет каждую задачу последовательно, синхронный код может запустить несколько задач "параллельно" и организовать их выполнение с помощью итераций и вызовов коллбеков.
Примером использования асинхронного кода является библиотека
asyncio в Python.
Например, вот простой пример кода, который использует asyncio для запуска
нескольких задач одновременно и ожидания их завершения:
import asyncio
async def hello():
await asyncio.sleep(1)
print("Hello")
async def world():
await asyncio.sleep(2)
print("World")
async def main():
await asyncio.gather(hello(), world())
if __name__ == '__main__':
asyncio.run(main())
В этом примере мы определяем 3 асинхронные функции: hello(), world() и main(). Функции hello() и world() печатают соответствующие сообщения и ждут 1 и 2 секунды соответственно.
Функция main() запускает эти две функции одновременно с помощью asyncio.gather() и ждет, пока они завершат свою работу. Затем мы запускаем
функцию main() с помощью asyncio.run(). В результате мы получим сообщения "Hello" и "World", каждое через 1 и 2 секунды соответственно, при этом результаты двух задач были получены почти одновременно.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
5 594
Работа с базами данных в Python: Обзор методов и инструментов
Базы данных являются важным компонентом многих приложений, и Python предоставляет множество инструментов для работы с различными типами баз данных. В этой статье я расскажу вам об основных методах взаимодействия с базами данных в Python, включая SQL и NoSQL решения.
🗣Введение в базы данных
🗣Работа с реляционными базами данных
🗣Работа с нереляционными базами данных
🗣Пример работы с базой данных
🔗 Читать полностью
@programistica // #article
5 594
👀Python. Разработка на основе тестирования
🗣Настройка Django с использованием функционального теста
🗣Тестирование простой домашней страницы при помощи
модульных тестов
🗣Сохранение вводимых пользователем данных: тестирование
базы данных
🗣Усовершенствование функциональных тестов: обеспечение
изоляции и удаление методов sleep
🗣Тестирование развертывания с использованием промежуточного
сайта
🗣Переход к развертыванию, готовому к эксплуатации
И так далее
@programistica // #doc
5 594
💻 Вопрос из собеседования: Что такое @classmethod, @staticmethod, @property?
👀@classmethod, @staticmethod, and @property - это декораторы методов класса в языке Python.
💻@classmethod используется для создания методов, которые будут работать с классом в целом, а не с отдельным экземпляром. В качестве первого параметра этот метод принимает класс, а не экземпляр объекта, и часто используется для создания фабричных методов и методов, которые работают с класс-уровнем методов.
@staticmethod декоратор работает подобно @classmethod, но он не получает доступ к классу в качестве первого параметра.
@property декоратор используется для создания свойств объекта, которые можно получить и задать, но выглядят как обычные атрибуты объекта. Это позволяет управлять доступом к атрибутам объекта, установив условиями доступа и возможностью заложить дополнительную логику при чтении, установке или удалении атрибута.
👩💻Например, явное использование декораторов может выглядеть так:
class MyClass:
def __init__(self, value):
self._value = value
@classmethod
def from_string(cls, input_string):
value = process_input_string(input_string)
return cls(value)
@staticmethod
def process_input_string(input_string):
# implementation details
pass
@property
def value(self):
return self._value
@value.setter
def value(self, new_value):
if new_value < 0:
raise ValueError("Value must be positive")
self._value = new_value
Декорированные методы могут быть использованы для достижения различных целей, таких как доступ к класс-уровню, расширение функциональности объекта и управление доступом к атрибутам.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
5 594
⚙️Разработка распределённых систем на Python с помощью Celery
В мире современных вычислений распределённые системы играют важную роль, обеспечивая эффективное выполнение сложных задач на больших объёмах данных. Python с его мощными инструментами и библиотеками для асинхронного программирования предоставляет отличные возможности для создания таких систем. В этой статье я расскажу вам об использовании библиотеки Celery для разработки распределённых систем на Python.
🗣Что такое Celery?
🗣Создание и настройка Celery приложения
🗣Преимущества использования Celery
🔗 Читать полностью
@programistica // #article
5 594
💻Шпаргалка по Python для data science
⏺Scikit-учись
⏺Создайте Свою модель
⏺Оцените производительность вашей модели
⏺Загрузка Данных
⏺Предварительная обработка Данных
⏺Настройте Свою модель
🔗 Ссылка на шпаргалку
@programistica // #doc
5 594
💻 Вопрос из собеседования: Как проверить, что один кортеж содержит все элементы другого кортежа?
Для проверки того, содержит ли один кортеж все элементы другого кортежа в Python, можно воспользоваться встроенной функцией all(), передав ей выражение генератора
списков, которое проверяет наличие каждого элемента из второго кортежа в первом кортеже.
👀Например:
first_tuple = (1, 2, 3, 4, 5)
second_tuple = (2, 4, 5)
contains_all = all(elem in first_tuple for elem in second_tuple)
print(contains_all) # True
Этот код создает два кортежа first_tuple и second_tuple и затем использует генератор списка, чтобы проверить, содержит ли first_tuple все элементы из second_tuple.
Результат будет True, если все элементы второго кортежа содержатся в первом кортеже, и False в противном случае.
Есть и другой вариант для наборов неповторяющихся элементов. Можно использовать issubset(), то есть проверить, является ли одно множество подмножеством другого:
first_tuple = (1, 2, 3, 4, 5)
some_list = [2, 4, 5]
contains_all = set(some_list).issubset(set(first_tuple))
print(contains_all) # True
Этот код дает тот же результат, что и предыдущий пример, но при преобразовании в set() повторы теряются, подойдёт только для наборов уникальных элементов.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
5 594
⚙️ Объёмная Шпаргалка
по Python
⏺Базовый синтаксис
⏺Основные типы данных Python
⏺Работа со строками
⏺Математические операторы
⏺Работа с функциями
⏺Работа со списками
⏺Кортежи
⏺Словари
⏺Условные операторы
⏺Циклы
⏺Работа с классами
⏺Работа с исключениями (ошибками) Python
🔗 Ссылка на шпаргалку
@programistica // #doc
5 594
⚙️Разработка мобильных приложений на Python
Мобильные приложения становятся все более популярными в нашей современной цифровой эпохе. И если вы хотите создать мобильное приложение, используя Python, фреймворк Kivy может стать вашим надежным союзником. В этой статье я расскажу, как использовать Kivy для разработки кроссплатформенных мобильных приложений на Python.
🗣Что такое Kivy?
🗣Установка Kivy
🗣Создание простого приложения
🗣Запуск приложения
🔗 Читать полностью
@programistica // #article
5 594
💻 Вопрос из собеседования: Что такое слайс(slice)?
Слайс (slice) - это способ извлечения определенной части последовательности (например, строки, списка, кортежа) с использованием индексации.
👩💻Синтаксис для создания слайса:
sequence[start:end:step]
где start - индекс, с которого начинается извлечение (включительно), end - индекс, на котором заканчивается извлечение (не включая его), и step - шаг для извлечения элементов (по умолчанию равен 1).
Обратите внимание, что если не указывать start, то по умолчанию он равен 0, а если не указывать end, то по умолчанию он равен длине последовательности.
👩💻Вот пример использования слайса для выбора подряд идущих элементов списка (list):
my_list = [0, 1, 2, 3, 4, 5]
my_slice = my_list[1:4] # выбираем элементы с индексами от 1 до 3 включительно
print(my_slice) # выведет [1, 2, 3]
В этом примере мы использовали слайс my_list[1:4] для выбора элементов списка с индексами от 1 до 3 включительно.
В общем, слайс/срез используется для того, чтобы взять какую-то подпоследовательность любого итерируемого объекта, будь то строка, список или кортеж; при этом мы можем указывать начало среза, конец и шаг.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
