Python RU
13.4K subscribers
871 photos
41 videos
36 files
1.12K links
Все для python разработчиков

админ - @haarrp

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
加入频道
🏮 tntorch - Tensor Network Learning with PyTorch

PyTorch-powered modeling and learning library using tensor networks. Installation: pip install tntorch

Github: https://github.com/rballester/tntorch

Docs site: http://tntorch.readthedocs.io/

Paper: https://arxiv.org/abs/2206.11128v1

@ai_machinelearning_big_data
🌉 Паттерн проектирования Мост на Python.

Паттерн Мост (Bridge) — это структурный паттерн проектирования, который позволяет нам отделить абстракции от реализаций и сделать их независимыми друг от друга. В результате абстракции и реализации могут разрабатываться как отдельные сущности. Паттерн Мост считается одним из лучших методов организации иерархии классов. Но давайте поподробнее разберем, что всё это значит.

Элементы паттерна Мост
Abstraction (абстракция). Это ядро ​​паттерна Мост. Она предоставляет ссылку на Implementer.
Refined Abstraction (расширенная абстракция) содержит различные вариации управляющей логики, наследуется от Abstraction и расширяет унаследованный интерфейс.
Implementer (реализатор). Определяет базовый интерфейс для конкретных реализаций. Этот интерфейс не обязательно должен напрямую соответствовать интерфейсу абстракции. Более того, он может сильно отличаться от него.
Concrete Implementation (конкретная реализация) наследуется от Implementer.

Читать дальше

@pro_python_code
Forwarded from Python tests
Forwarded from Python tests
Каким будет результат выполнения кода?
Anonymous Quiz
4%
1 5 5
36%
1 3 5
5%
5 2 1
10%
0 2 4
9%
None
16%
Error
21%
Узнать ответ
Forwarded from Data Science. SQL hub
Hunner - микро фреймворк для тестирования на проникновение. Сканирует на sql, xss, ddos, bruteforce ftp, ssh и д.р уязвимости.

Установка ⚙️
$ git clone https://github.com/b3-v3r/Hunner
$ cd Hunner

Использование ▶️
$ python hunner.py

💡 GitHub

@sqlhub
WarpФреймворк Python для высокопроизводительного моделирования графического процессора и графики

Ядра определяются в синтаксисе Python, а JIT преобразуются в C++/CUDA и компилируются во время выполнения

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

| #Python #Cuda #Cpp #Graphics #Interesting
🐍🥤 Flask за час. Часть 2: завершаем разработку и размещаем сайт на GitHub Pages


Создаем разделы «Резюме», «Портфолио», «Блог», «Контакты», экспортируем статические страницы и заливаем сайт на хостинг.

Статья

1 часть

@pro_python_code
SimSwap - фреймворк для смены лица на изображениях и видео с одной обученной моделью!

Github: https://github.com/neuralchen/SimSwap

Colab: https://colab.research.google.com/github/neuralchen/SimSwap/blob/main/train.ipynb

Демо: https://colab.research.google.com/github/neuralchen/SimSwap/blob/main/train.ipynb

@pro_python_code
​​Танчики на PyGame

Занятые вышли дни, поэтому не смог написать новых статей. Но, чтобы вы не скучали, вот вам один из моих проектов – Танчики на PyGame.
Игра хоть и не доделана полностью: в ней нет меню, звуков и редактора, но геймплей вполне работоспособный. Танчики спавнятся, атакуют, взрываются, стены разрушаются.

Управление – стрелки и пробел на выстрел.

main.py – точка входа. Инициализирует PyGame, создает класс Game, обрабатывает ввод с клавиатуры.
ai.py – интеллект врагов, включая алгоритм их появления.
bonus.py – игровой объект бонуса.
bonus_field_protect.py – алгоритм работы бонуса на защиту базы.
config.py – конфигурация и ключи запуска.
discrete_map.py – объект дискретной 2D карты (нужна для карты поля боя и карты для столкновений).
explosion.py – игровой объект взрыва.
field.py – игровой объект поля боя, обрабатывает столкновения и разрушение мира.
game.py – собирает все объекты вместе и связывает события.
my_base.py – игровой объект базы игрока (орел).
projectile.py – игровой объект снаряда.
score_node.py – игровой объект очков при уничтожении врага.
spritesheet.py – загрузчик спрайтов из одной сборной текстуры.
tank.py – игровой объект любого танка (своего или вражеского).
ui.py – элементы пользовательского интерфейса.
util.py – вспомогательные функции и классы, включая аниматор, таймер и базовый игровой объект.

Возможно, кому-то код пригодится, как учебное пособие, или вдруг найдутся добровольцы, которые внесут в него свой вклад. Ссылка на GitHub.

@pro_python_code
Копируем голос за 5 секунд, для генерации речи в реальном времени

⚙️ GitHub/Инструкция

📹 Видео

@pro_python_code
WebWordSearchнебольшой инструмент на Python для поиска слова или символа на сайтах указанных в текстовом файле

Выводит в консоль количество совпадений на каждой странице, в конце поиска выводит также общее количество совпадений.

@pro_python_code | #Python #Interesting #Useful
Realtime face swap for PC streaming or video calls

Github

@pro_python_code
⚙️ Сравниваем целочисленное и линейное программирование в Python

Почему линейное программирование называется так? Оба слова могут вводить в заблуждение.

Линейное подразумевает существование нелинейного.
В данном контексте программирование фактически означает “планирование”.
Если говорить вкратце, линейность не имеет никакого отношения к работе с кодом. Все дело в оптимизации переменных с различными ограничениями.

В этой статье мы обсудим еще один тип оптимизации  —  целочисленное программирование. Разберемся, почему четкое понимание существующей задачи необходимо для выбора правильного решателя. В конце напишем модель, которая сможет решить целый класс задач по оптимизации.

Читать дальше

Colab: https://colab.research.google.com/drive/1aIKnXPEiXFo1M3U0EM6arE2teD9KkJdF?usp=sharing

@pro_python_code
This media is not supported in your browser
VIEW IN TELEGRAM
Pyxel - это игровой движок для Python в стиле ретро.


Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт.

@pro_python_code
Магические методы в Python

https://nuancesprog.ru/p/6372/

@pro_python_code
Инструкция del (от англ. delete), как можно понять из названия, нужна чтобы что-то удалять, а именно имена переменных, атрибуты объектов, элементы списков и ключи словарей.

1. Удаление элемента из списка по индексу:

>>> x = [1, 2, 3, 4, 5]
>>> del x[2]
>>> x
[1, 2, 4, 5]


Также можно удалять по срезам. Пример: удаление первых двух элементов:

>>> x = [1, 2, 3, 4, 5]
>>> del x[:2]
>>> x
[3, 4, 5]


Удаление последних n элементов: del x[n:].
Удаление элементов с четными индексами: del x[::2], нечетными: del x[1::2].
Удаление произвольного среза: del x[i:j:k].

Не путайте del x[2] и x.remove(2). Первый удаляет по индексу (нумерация с 0), а второй по значению, то есть находит в списке первую двойку и удаляет ее.

2. Удаление ключа из словаря. Просто:

>>> d = {"foo": 5, "bar": 8}
>>> del d["foo"]
>>> d
{'bar': 8}

А вот строки, байты и сеты del не поддерживают.

3. Удаление атрибута объекта.

class Foo:
def __init__(self):
self.var = 10

f = Foo()
del f.var
print(f.var) # ошибка!


Примечание: можно через del удалить метод у самого класса (del Foo.method), но нельзя удалить метод у экземпляра класса (del Foo().method - AttributeError).

4. Что значит удалить имя переменной? Это просто значит, что надо отвязать имя от объекта (при этом если на объект никто более не ссылается, то он будет освобожден сборщиком мусора), а само имя станет свободно. При попытке доступа к этому имени после удаления будет NameError, пока ему снова не будет что-то присвоено.

>>> a = 5
>>> del a
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined


Здесь кроется один нюанс. Если переменная была внутри функции помечена, как global, то после ее удаления глобальная переменная никуда не денется, а имя освободится лишь в зоне видимости функции. Причем если мы снова присвоим ей значение, то она опять окажется глобальной, т.е. del не очищает информацию о global!

g = 100
def f():
global g
g = 200
del g # g останется вне фукции
g = 300 # таже самая глобальная g

f()
print(g) # 300


Чтобы реально удалить глобальную переменную, можно сделать так: del globals()['g'].

В пунктах 1, 2, 3 в качестве имен могут фигурировать выражения и ссылки, так как операции идут над содержимым объектов, а в пункте 4 должно быть строго формальное имя удаляемого объекта.

>>> x = [1, 2, 3]
>>> y = x
>>> del y # удаляет именно y, но x остается


@pro_python_code
Список полезных ресурсов для Python разработчика

@pythonl - продвинутый Python
@ai_machinelearning_big_data - машинное обучение
@data_analysis_ml - анализ данных на Python
@python_testit - тесты задачи на Python
@pythonlbooks - книги на Python
@Django_pythonl - чат
@Pythonl_django - django
@python_djangojobs - python django вакансии
@programming_books_it - книги программистов
@Golang_google - Golang

@itchannels_telegram - полный список ресурсов