Программистика
Closed channel
Лучший канал про python Ссылка для друга: https://t.me/+Ai6ughKtf5g2ZmFi Купить рекламу: https://telega.in/c/+Ai6ughKtf5g2ZmFi Админ: @JeyRahol По рекламе: @ReivuManager
Show more5 762
Subscribers
-924 hours
-367 days
-9130 days
Posts Archive
5 761
💻 Вопрос из собеседования: Для чего нужен метод id()?
👀Метод id() используется для получения уникального целочисленного идентификатора (адреса в памяти) объекта. Этот идентификатор может быть использован для сравнения объектов, поскольку два объекта будут иметь одинаковый идентификатор только в том случае, если это один и тот же объект в памяти.
👩💻Например, если у вас есть две переменные, которые ссылаются на один и тот же объект, то их идентификаторы будут равны:
a = [1, 2, 3]
b = a
print(id(a)) # выведет адрес в памяти объекта a
print(id(b)) # выведет адрес в памяти объекта b
👩💻Однако, если у вас есть две переменные, которые ссылаются на разные объекты, их идентификаторы будут отличаться:
a = [1, 2, 3]
b = [1, 2, 3]
print(id(a)) # выведет адрес в памяти объекта a
print(id(b)) # выведет адрес в памяти объекта b (отличный от идентификатора a)
➡️Использование метода id() может быть полезно при отладке или проверке, какие переменные ссылаются на один и тот же объект. Однако, в общем случае, использование метода id() не рекомендуется, поскольку это может быть неэффективным при работе с большим количеством объектов в памяти.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
5 761
💻Написание игры "Крестики-нолики" на Python
Игра "Крестики-нолики" - классическая игра для двух игроков, цель которой выставить на поле последовательно три своих фигуры в ряд по горизонтали, вертикали или диагонали. В этой статье я расскажу, как написать простую версию этой игры на языке программирования Python с использованием консольного интерфейса.
🗣Создание поля для игры
🗣Отображение поля для игры
🗣Ход игрока
🗣Проверка победителя
🗣Основной игровой цикл
🔗 Читать полностью
@programistica // #article
5 761
👀 Стандартная библиотека Python 3
⏺Структуры данных
⏺Алгоритмы
⏺Файловая система
⏺Сжатие и архивирование данных
⏺Параллельные вычисления: процессы, потоки и сопрограммы
⏺Интернет
⏺Инструменты среды времени выполнения
⏺Модули и пакеты
И многое другое
@programistica // #doc
5 761
💻 Вопрос из собеседования: Почему пустой список нельзя использовать как аргумент по умолчанию?
➡️Значения по умолчанию для аргументов функции вычисляются только 1 раз, когда функция определяется, а не каждый раз, когда она вызывается. Таким образом, если вы попытаетесь использовать изменяемый тип данных (например, список) как аргумент по умолчанию для функции, то каждый вызов функции, который изменяет это значение, также изменит значение по умолчанию для всех последующих вызовов функции. Это может привести к разным сюрпризам и неожиданным последствиям.
➡️Пустой список - это изменяемый тип данных в Python, поэтому его использование в качестве аргумента по умолчанию не рекомендуется. Вместо этого лучше использовать None в качестве значения по умолчанию и создавать новый пустой список внутри функции, если требуется список.
Например:
def my_function(my_list=None):
if my_list is None:
my_list = []
# do something with my_list
pass
При такой реализации вы всегда можете быть уверены, что получаете новый объект списка при каждом вызове функции.
👀P.S. На самом деле есть обходной путь: если внутри функции входной аргумент (список) никак не меняется, то код будет абсолютно валидным.
Это реально работает:
def foo(var: int, checks: list[Callable] = []):
for check in checks:
check(var)
Но линтеру это может не понравиться, или кто-то может заставить функцию изменять список и всё сломается, да и не по феншую это.
Надеюсь это поможет вам пройти собеседование на желаемую вами работу, удачи🔥@programistica // #jobs
5 761
📱Разработка чат-ботов с использованием Python и библиотеки aiogram
Чат-боты становятся все более популярными в современном мире, предоставляя пользователю возможность взаимодействия с приложением через текстовые сообщения. В этой статье я расскажу о процессе создания чат-ботов для платформы Telegram с использованием Python и библиотеки aiogram.
🗣Введение в aiogram
🗣Создание простого чат-бота
🗣Дополнительные возможности
🔗 Читать полностью
@programistica // #article
5 761
👀 Автоматизация рутинных задач с помощью Python (2-е издание)
🗣Основные понятия языка Python
🗣Регулярные выражения
🗣Проверка ввода
🗣Отладка
🗣Веб-скрейпинг
🗣Работа с таблицами Excel
🗣Работа с CSV-файлами и данными в формате JSON
🗣Работа с датой и временем, планирование заданий
и запуск программ
И многое другое
@programistica // #doc
5 761
💻 Вопрос из собеседования: Что такое декоратор? Как написать собственный?
‼️Декоратор в 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 761
💸Написание Торгового Бота на Python
Торговые боты становятся все более популярными среди трейдеров и инвесторов, позволяя им автоматизировать стратегии торговли и управлять портфелем. В этой статье я расскажу, как создать своего торгового бота на Python с использованием библиотеки ccxt, которая обеспечивает доступ к различным биржевым API.
🗣Установка необходимых библиотек
🗣Подключение к API биржи
🗣Получение данных о рынке
🗣Разработка стратегии торговли
🗣Управление портфелем
🗣Обработка ошибок и безопасность
🗣Запуск бота
🔗 Читать полностью
@programistica // #article
5 761
🖥 Создание торговых стратегий на Python с использованием библиотеки backtrader
Торговля на финансовых рынках требует не только финансовых знаний, но и умения анализировать данные, прогнозировать тренды и разрабатывать эффективные стратегии. Python становится все более популярным инструментом для автоматизации торговых процессов, благодаря своей гибкости и богатству библиотек для работы с данными и финансовыми инструментами. В этой статье я расскажу о создании и тестировании торговых стратегий на Python с использованием библиотеки backtrader.
🗣Что такое backtrader?
🗣Пример создания простой стратегии
🗣Тестирование стратегии
🔗 Читать полностью
@programistica // #article
5 761
👀 Глубокое обучение с подкреплением
🗣Глубокие Q-сети
🗣Улучшение DQN
🗣Метод актора-критика с преимуществом (А2С)
🗣Оптимизация ближайшей стратегии
🗣SLM Lab
🗣Архитектура сетей
🗣Аппаратное обеспечение
И многое другое
@programistica // #doc
5 761
💻 Вопрос из собеседования: Что хранится в атрибуте 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 761
💻Шпаргалка по NumPy
⏺ИМПОРТ/ЭКСПОРТ
⏺СОЗДАНИЕ МАССИВОВ
⏺ПРОВЕРКА СВОЙСТВ
⏺КОПИРОВАНИЕ/СОРТИРОВКА/ИЗМЕНЕНИЕ ФОРМЫ
⏺ДОБАВЛЕНИЕ/УДАЛЕНИЕ ЭЛЕМЕНТОВ
⏺ОБЪЕДИНЕНИЕ/РАСЩЕПЛЕНИЕ
⏺ИНДЕКСАЦИЯ/НАРЕЗКА/ПОДСТАНОВКА
⏺СКАЛЯРНАЯ МАТЕМАТИКА
⏺ВЕКТОРНАЯ МАТЕМАТИКА
⏺STATISTICS
🔗 Ссылка на шпаргалку
@programistica // #doc
