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
加入频道
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 - полный список ресурсов
📍 Полезные Python модули, которыми мало кто пользуется

В данной статье мы будем работать с малоизвестными методами и модулями, которые могут улучшить эффективность и внешний вид кода.

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

@pro_python_code
Как легко и надежно реализовать модульные тесты на Python

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

Большинство разработчиков запускают быстрые тесты в терминале или используют в качестве тестировщика сочетание assert-операторов и print-инструкций. Однако есть более эффективные способы. Поговорим о них позже, а сначала обсудим, почему так важно делать тесты.

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

@pro_python_code