🐍 Работа с файлами в Python: 5 задач с решениями
https://proglib.io/p/rabota-s-faylami-v-python-5-zadach-dlya-nachinayushchih-s-resheniyami-2022-06-02
@pro_python_code
https://proglib.io/p/rabota-s-faylami-v-python-5-zadach-dlya-nachinayushchih-s-resheniyami-2022-06-02
@pro_python_code
Библиотека программиста
🐍 Работа с файлами в Python: 5 задач для начинающих с решениями
Начинаем изучать инструменты Python, предназначенные для работы с текстовыми файлами форматов .txt, .md и .csv: напишем программы для поиска и замены слов, подсчета стоимости товаров, получения статистики по тексту и преобразования информации из csv-файла…
This media is not supported in your browser
VIEW IN TELEGRAM
🏓 Пинг-Понг, пишем классическую аркадную игру на Python.
https://uproger.com/pong-klassicheskaya-arkadnaya-igra-na-python/
@pro_python_code
https://uproger.com/pong-klassicheskaya-arkadnaya-igra-na-python/
@pro_python_code
translatepy - универсальная библиотека и CLI, написанная на Python, для перевода, транслитерации, проверки орфографии, озвучивания текста в речь и поиск слов в словарях, с использованием следующих API:
• Google Translate
• Yandex Translate
• Bing Translate
• DeepL Translate
• Reverso
• MyMemory
• LibreTranslate
Библиотека использует разные лазейки в API для того чтобы бесплатно делать запросы, соответственно не требуются API ключи для работы сервисов перевода. Также есть возможность написать свой API модуль перевода.
#GitHub | #Python #Translation
@pro_python_code
• Google Translate
• Yandex Translate
• Bing Translate
• DeepL Translate
• Reverso
• MyMemory
• LibreTranslate
Библиотека использует разные лазейки в API для того чтобы бесплатно делать запросы, соответственно не требуются API ключи для работы сервисов перевода. Также есть возможность написать свой API модуль перевода.
#GitHub | #Python #Translation
@pro_python_code
🔟 Приложение на Python | Каждое в 10 строк кода + видео объяснение кода.
Запуск: git clone https://github.com/qxresearch/qxresearch-event-1
Список проектов
@pro_python_code
Запуск: git clone https://github.com/qxresearch/qxresearch-event-1
Список проектов
@pro_python_code
A Little Task Queue for Python.
Code: https://github.com/coleifer/huey
Docs: https://huey.readthedocs.io/en/latest/
Code: https://github.com/coleifer/huey
Docs: https://huey.readthedocs.io/en/latest/
О наследовании атрибутов
Видел тут на одном из каналов задачку про поле класса и наследование. Загадывать вам ее не буду, но объяснение приведу. Пусть:
Тут понятно и новичку, что поле foo вроде как "наследуется" классами Barak и Clara у класса Abram. Однако, давайте попробуем его поменять:
Видим, что у класса Barak и Clara значение стало 30, а
Работает это так. При поиске атрибута класса сначала спрашивается у самого класса, есть ли у него этот атрибут, если да, то он вернется, если нет, то идут к следующему классу, который старше по иерархии наследования (Clara → Barak → Abram → object). Если у него тоже нет, то идут еще дальше, пока не найдут, иначе возникнет исключение AttributeError.
В нашем примере будем рассуждать с конца. Чему равно
Предок класса Clara – класс Barak. Как только мы написали
А до этого атрибут foo был изначально только у Abram. Если теперь написать
Вывод: как только мы присвоим атрибут, то атрибуты классов-предков перестают на него влиять. Будьте внимательны, ведь такая же логика действует и для методов класса.
@pro_python_code
Видел тут на одном из каналов задачку про поле класса и наследование. Загадывать вам ее не буду, но объяснение приведу. Пусть:
class Abram:
foo = 10
class Barak(Abram):
pass
class Clara(Barak):
pass
print(Abram.foo, Barak.foo, Clara.foo) # 10 10 10
Тут понятно и новичку, что поле foo вроде как "наследуется" классами Barak и Clara у класса Abram. Однако, давайте попробуем его поменять:
Abram.foo = 20
print(Abram.foo, Barak.foo, Clara.foo) # 20 20 20
Barak.foo = 30
print(Abram.foo, Barak.foo, Clara.foo) # 20 30 30
Abram.foo = 40
print(Abram.foo, Barak.foo, Clara.foo) # 40 30 30
Видим, что у класса Barak и Clara значение стало 30, а
Abram.foo
живет своей жизнью после Barak.foo = 30
и не перестало влиять на прочие классы.Работает это так. При поиске атрибута класса сначала спрашивается у самого класса, есть ли у него этот атрибут, если да, то он вернется, если нет, то идут к следующему классу, который старше по иерархии наследования (Clara → Barak → Abram → object). Если у него тоже нет, то идут еще дальше, пока не найдут, иначе возникнет исключение AttributeError.
В нашем примере будем рассуждать с конца. Чему равно
Clara.foo
? Есть ли атрибут foo у Clara? Вообще говоря, его нет, ведь мы ни разу не присваивали ничего к Clara.foo
:>>> 'foo' in Clara.__dict__
False
Предок класса Clara – класс Barak. Как только мы написали
Barak.foo = 30
в классе Barak появился свой собственный foo:>>> Barak.foo = 20
>>> 'foo' in Barak.__dict__
True
А до этого атрибут foo был изначально только у Abram. Если теперь написать
Clara.foo = 50
, то у каждого из классов будет свой foo.Clara.foo = 50
print(Abram.foo, Barak.foo, Clara.foo) # 40 30 50
Вывод: как только мы присвоим атрибут, то атрибуты классов-предков перестают на него влиять. Будьте внимательны, ведь такая же логика действует и для методов класса.
@pro_python_code
💻 Karbon tracks background mouse events and turns them into artistic values!
@pythonl
pip install karbon
Code: https://github.com/furkanonder/karbon@pythonl
🐍🚀 Django с нуля. Часть 2: регистрация, авторизация, ограничение доступа
Во второй части туториала будем разрабатывать систему регистрации и авторизации, а также ограничим доступ к просмотру профилей для неавторизованных посетителей блога.
https://proglib.io/p/django-s-nulya-chast-2-registraciya-avtorizaciya-ogranichenie-dostupa-2022-06-08
Первая часть :🐍🚀 Django с нуля. Часть 1: пишем многопользовательский блог для клуба любителей задач Python
@pro_python_code
Во второй части туториала будем разрабатывать систему регистрации и авторизации, а также ограничим доступ к просмотру профилей для неавторизованных посетителей блога.
https://proglib.io/p/django-s-nulya-chast-2-registraciya-avtorizaciya-ogranichenie-dostupa-2022-06-08
Первая часть :🐍🚀 Django с нуля. Часть 1: пишем многопользовательский блог для клуба любителей задач Python
@pro_python_code
SkinDeep – нейронная сеть, что позволяет убирать татуировки с любой части тела на фотографиях
Ограничения:
⤷ Дизайн каждой татуировки уникален, он отличается от человека к человеку, поэтому модель может не работать в некоторых случаях.
⤷ Не работает с цветными татуировками, в наборе данных их нету
⤷ Требуется минимум 3,7 ГБ свободной памяти графического процессора
Ограничения:
⤷ Дизайн каждой татуировки уникален, он отличается от человека к человеку, поэтому модель может не работать в некоторых случаях.
⤷ Не работает с цветными татуировками, в наборе данных их нету
⤷ Требуется минимум 3,7 ГБ свободной памяти графического процессора
Flask-boost – Генератор приложений на Flask, что помогает ускорить процесс разработки
Особенности:
• Используйте шаблоны для создания приложения Flask.
• Возможность разделять контроллеры, модели, формы, утилиты, активы, страницы Jinja2, макросы Jinja2 на разные каталоги
• Возможность организовывать ресурсы страницы Jinja2 (HTML, JavaScript, CSS) в один и тот же каталог
#Flask #Generator #Python
@pro_python_code
Особенности:
• Используйте шаблоны для создания приложения Flask.
• Возможность разделять контроллеры, модели, формы, утилиты, активы, страницы Jinja2, макросы Jinja2 на разные каталоги
• Возможность организовывать ресурсы страницы Jinja2 (HTML, JavaScript, CSS) в один и тот же каталог
#Flask #Generator #Python
@pro_python_code
GitHub
GitHub - hustlzp/Flask-Boost: Flask application generator for boosting your development.
Flask application generator for boosting your development. - hustlzp/Flask-Boost
✔️ Пакетная обработка 22 ГБ данных о транзакциях с помощью Pandas.
https://nuancesprog.ru/p/15805/
@pro_python_code
https://nuancesprog.ru/p/15805/
@pro_python_code
Как легко и быстро создать веб-приложение на базе МО с помощью Python
Независимо от того, сколько моделей вы создали, оффлайн их смогут увидеть лишь несколько человек. Поэтому необходимо их развертывать, чтобы любой смог поработать с ними посредством UI.
В этой статье мы с нуля развернем модель линейной регрессии с помощью Flask, фреймворка Python для разработки веб-приложений. По результатам этого гайда вы сможете поэкспериментировать с простой моделью машинного обучения в браузере, как показано ниже.
Читать дальше
Независимо от того, сколько моделей вы создали, оффлайн их смогут увидеть лишь несколько человек. Поэтому необходимо их развертывать, чтобы любой смог поработать с ними посредством UI.
В этой статье мы с нуля развернем модель линейной регрессии с помощью Flask, фреймворка Python для разработки веб-приложений. По результатам этого гайда вы сможете поэкспериментировать с простой моделью машинного обучения в браузере, как показано ниже.
Читать дальше
Как узнать имя переменной?
Какой-то из каналов про Python писал, что это невозможно узнать имя переменной, которой мы что-то присвоили. Это не совсем так. Представляю вам функцию, которая вернет все имена, ассоциированные с переданным ей объектом. Она использует модуль inspect, который позволяет узнать о загруженном в Python коде все, что можно только придумать, в том числе и имена переменных:
Тестируем:
Так как имен может быть несколько, то возвращается список. Кроме того, может быть ситуация, когда в список запрячутся посторонние имена. Например, на None могут ссылаться встроенные переменные интерпретатора:
Зачем это вообще нужно? Например, можно сделать функцию, что будет составлять словарь из переменных по их именам:
Это весело, но, пожалуйста, будьте с этим осторожны, так как код выше примитивен и написан только в демонстрационных целях. Я уже отмечал, что find_names может зацепить не те имена, поэтому не используйте его в своих программах, если нет очень веских на это причин.
#хаки #секреты
Какой-то из каналов про Python писал, что это невозможно узнать имя переменной, которой мы что-то присвоили. Это не совсем так. Представляю вам функцию, которая вернет все имена, ассоциированные с переданным ей объектом. Она использует модуль inspect, который позволяет узнать о загруженном в Python коде все, что можно только придумать, в том числе и имена переменных:
def find_names(obj):
import inspect
# currentframe - текущий контекст выполнения, т.е. эта же функция
# а f_back - фрейм код, который ее вызвал
parent_frame = inspect.currentframe().f_back
# соберем все глобальные и локальные переменные вызывающего кода
# это словарь имя переменной: ее значение
search = {**parent_frame.f_globals, **parent_frame.f_locals}
for name, v in search.items():
# если переменная ЯВЛЯЕТСЯ искомым объектом вернем ее имя
if v is obj:
yield name
Тестируем:
class A: ...
x = A()
y = x
print(list(find_names(x))) # ['x', 'y']
Так как имен может быть несколько, то возвращается список. Кроме того, может быть ситуация, когда в список запрячутся посторонние имена. Например, на None могут ссылаться встроенные переменные интерпретатора:
a = None
print(list(find_names(a)))
# ['__doc__', '__package__', '__spec__', '__cached__', 'a']
Зачем это вообще нужно? Например, можно сделать функцию, что будет составлять словарь из переменных по их именам:
def make_dict(*args):
return {next(find_names(_arg)): _arg for _arg in args}
a, b, c = 10, 20, 30
d = make_dict(a, b, c)
print(d) # {'a': 10, 'b': 20, 'c': 30}
Это весело, но, пожалуйста, будьте с этим осторожны, так как код выше примитивен и написан только в демонстрационных целях. Я уже отмечал, что find_names может зацепить не те имена, поэтому не используйте его в своих программах, если нет очень веских на это причин.
#хаки #секреты
🐍🚀 Django с нуля. Часть 3: создание профилей, сжатие изображений, CRUD и пагинация
Первые две части
3 часть
Код из статьи
@pro_python_code
Первые две части
3 часть
Код из статьи
@pro_python_code
telegram-phone-number-checker – скрипт, что позволяет проверить, подключен ли конкретный номер телефона к учетной записи Telegram
Возвращает имя пользователя и другую полезную информацию в случае успеха
@pro_python_code | #Python #Privacy #Telegram #Interesting
Возвращает имя пользователя и другую полезную информацию в случае успеха
@pro_python_code | #Python #Privacy #Telegram #Interesting