Трендовые python-репозитории на github
Какие репозитории считаются наиболее впечатляющими? Нескольно репозиториев на сегодняшний день по версии github.
Streamlit
Cамый быстрый способ создания пользовательских инструментов ML.
DeepLearningExamples
Примеры глубокого обучения.
Python-100-Days
Python — 100 дней от новичка до мастера.
Какие репозитории считаются наиболее впечатляющими? Нескольно репозиториев на сегодняшний день по версии github.
Streamlit
Cамый быстрый способ создания пользовательских инструментов ML.
DeepLearningExamples
Примеры глубокого обучения.
Python-100-Days
Python — 100 дней от новичка до мастера.
GitHub
GitHub - streamlit/streamlit: Streamlit — A faster way to build and share data apps.
Streamlit — A faster way to build and share data apps. - streamlit/streamlit
Почему нужно использовать "python -m pip"
Ведущая разработчица ядра и канадка Мариатта спросила в Твиттере о том, кто рассказал ей об идиоме использования python -m pip, а также попросила дать ссылку, объясняющую ее.
Ведущая разработчица ядра и канадка Мариатта спросила в Твиттере о том, кто рассказал ей об идиоме использования python -m pip, а также попросила дать ссылку, объясняющую ее.
В бесплатной 16-битной приключенческой игре TwilioQuest есть специальная миссия по программированию на Python! 🤘😎 Вам стоит проверить это хотя бы для того, чтобы насладиться потрясающим ретро-искусством и музыкой.
GitHub
TerminalQuest
Answer the call of the cursor, and discover your power to change the world with code. - TerminalQuest
Пишем простой граббер для Telegram чатов на Python
Рассказываем, как собрать данные участников и сообщения из чатов/каналов Telegram с помощью Python и библиотеки Telethon.
🤝💪😎
https://proglib.io/sh/xJNT6k9coB
Рассказываем, как собрать данные участников и сообщения из чатов/каналов Telegram с помощью Python и библиотеки Telethon.
🤝💪😎
https://proglib.io/sh/xJNT6k9coB
Библиотека программиста
Пишем простой граббер для Telegram чатов на Python
Рассказываем, как собрать данные участников и сообщения из чатов/каналов Telegram с помощью Python и библиотеки Telethon.
Новинки аннотаций типов в Python 3.8 (Protocol, Final, TypedDict, Literal)
В данной статье автор подробно разбирает новые возможности, которые получили аннотации типов
#статьядня
https://prglb.ru/35czd
В данной статье автор подробно разбирает новые возможности, которые получили аннотации типов
#статьядня
https://prglb.ru/35czd
Хабр
Новинки аннотаций типов в Python 3.8 (Protocol, Final, TypedDict, Literal)
Сегодня ночью вышел Python 3.8 и аннотации типов получили новые возможности: Протоколы Типизированные словари Final-спецификатор Соответствие фиксированному зна...
Stepik.org запускает 6-недельную программу по Python для начинающих - https://prglb.ru/3odx9
Программа запускалась уже два раза и отзывы были отличные (можно почитать на лендинге). Учиться нужно будет в небольшой группе, вам будет помогать преподаватель, обучение проектное (нужно будет применять то, что узнаете, для создания реального проекта – Telegram-бота), преподаватель даёт фидбэк по заданиям в виде код-ревью.
Из-за того, что группа небольшая, на программу действует отбор по анкете. Это нужно для того, чтобы собрать группу мотивированных студентов, которым будет интересно учиться вместе друг с другом.
Если вашу анкету одобрят, при оплате используйте наш промокод PYPROGLIB со скидкой в 1000р
Программа запускалась уже два раза и отзывы были отличные (можно почитать на лендинге). Учиться нужно будет в небольшой группе, вам будет помогать преподаватель, обучение проектное (нужно будет применять то, что узнаете, для создания реального проекта – Telegram-бота), преподаватель даёт фидбэк по заданиям в виде код-ревью.
Из-за того, что группа небольшая, на программу действует отбор по анкете. Это нужно для того, чтобы собрать группу мотивированных студентов, которым будет интересно учиться вместе друг с другом.
Если вашу анкету одобрят, при оплате используйте наш промокод PYPROGLIB со скидкой в 1000р
Создание приложение Django и Gunicorn с помощью Docker
Хорошее руководство о том, как создать масштабируемое и переносимое приложение Django для создания голосования с Docker.
Хорошее руководство о том, как создать масштабируемое и переносимое приложение Django для создания голосования с Docker.
Зачем нужны операционные системы и как выбрать подходящую?
"Операционная система облегчает многие вычислительные задачи, которые мы считаем само собой разумеющимися. Например, операционная система позволяет записывать в файлы, общаться по сети и запускать несколько программ одновременно. В противном случае вам нужно будет управлять процессором, памятью, сетью, видеокартой и многими другими компонентами с помощью собственной низкоуровневой реализации" — ресурсы операционных систем для разработчиков Python.
"Операционная система облегчает многие вычислительные задачи, которые мы считаем само собой разумеющимися. Например, операционная система позволяет записывать в файлы, общаться по сети и запускать несколько программ одновременно. В противном случае вам нужно будет управлять процессором, памятью, сетью, видеокартой и многими другими компонентами с помощью собственной низкоуровневой реализации" — ресурсы операционных систем для разработчиков Python.
Fullstackpython
Operating Systems
Learn what operating system you should be using for you web application and resources to configure the OS on Full Stack Python.
Несколько полезных инструментов Python
Setuptools. Это стандартный способ создавать пакеты в Python. Он работает где угодно и хорошо справляется со своей задачей. Он используется для создания egg, zip или wheel файлов из исходников, определения метаданных для вашего проекта, совместной структурированной и стандартизированной работы над кодом.
Virtualenv является менеджером виртуальной среды. Такие изолированные среды представляют собой автономно установленный python с определенным набором предустановленных пакетов. Использование virtualenv означает, что вам не нужно устанавливать пакеты в python системы по умолчанию. Virtualenv выполняет разделение зависимостей, поддержку различных версий python одной системой, легкое перемещение зависимостей.
Pypi или Python Package Index — это большой репозиторий, в котором собраны все ваши самые любимые модули Python. Например, тот же самый pip берет билды пакетов именно оттуда. Полезен для публикации вашего кода.
Sphinx. Это инструмент для создания документации. Изначально он был создан для обработки документации Python, но стал инструментом общего пользования. Он является наиболее распространенным вариантом для проектов на Python. Используется для создания PDF-или HTML-документов с помощью языка разметки из reStructuredText источников.
Setuptools. Это стандартный способ создавать пакеты в Python. Он работает где угодно и хорошо справляется со своей задачей. Он используется для создания egg, zip или wheel файлов из исходников, определения метаданных для вашего проекта, совместной структурированной и стандартизированной работы над кодом.
Virtualenv является менеджером виртуальной среды. Такие изолированные среды представляют собой автономно установленный python с определенным набором предустановленных пакетов. Использование virtualenv означает, что вам не нужно устанавливать пакеты в python системы по умолчанию. Virtualenv выполняет разделение зависимостей, поддержку различных версий python одной системой, легкое перемещение зависимостей.
Pypi или Python Package Index — это большой репозиторий, в котором собраны все ваши самые любимые модули Python. Например, тот же самый pip берет билды пакетов именно оттуда. Полезен для публикации вашего кода.
Sphinx. Это инструмент для создания документации. Изначально он был создан для обработки документации Python, но стал инструментом общего пользования. Он является наиболее распространенным вариантом для проектов на Python. Используется для создания PDF-или HTML-документов с помощью языка разметки из reStructuredText источников.
Когда перейти на Python 3.8
Python 3.8 был выпущен в середине октября. Но не смотря на это, с новой версии могут возникать проблемы.
Проблемы, которые могут возникнуть с переходом на Python 3.8.
Отсутствующие пакеты. opencv-python package по состоянию на 28 октября был недоступен. Вы еще не можете использовать синтаксис. Новые версии Python часто имеют новый синтаксис, как в случае с Python 3.8. Однако другие инструменты также должны поддерживать новый синтаксис — автоформаторы, линтеры и т. Д. Пока они этого не сделают, вы не можете использовать новый синтаксис.
Почему вы должны переключиться.
Учитывая, что для обновления требуется время (дополнительное тестирование, некоторые настройки вашего кода), может возникнуть соблазн отложить переключение на неопределенное время. Проблема в том, что Python не поддерживается бесконечно, а библиотеки не поддерживают все версии Python бесконечно. Так что, если вы работаете на 5-летней версии Python, переключение становится более сложным делом. Вместо одного масштабного страшного обновления каждые несколько лет, гораздо безопаснее проводить непрерывный процесс небольших обновлений.
Когда вы должны перейти на новую основную версию Python?
Как минимум, вам нужно будет подождать, пока:
1. все ваши библиотеки явно поддерживают новую версию Python;
2. все инструменты, на которые вы полагаетесь, явно поддерживают новую версию Python.
Python 3.8 был выпущен в середине октября. Но не смотря на это, с новой версии могут возникать проблемы.
Проблемы, которые могут возникнуть с переходом на Python 3.8.
Отсутствующие пакеты. opencv-python package по состоянию на 28 октября был недоступен. Вы еще не можете использовать синтаксис. Новые версии Python часто имеют новый синтаксис, как в случае с Python 3.8. Однако другие инструменты также должны поддерживать новый синтаксис — автоформаторы, линтеры и т. Д. Пока они этого не сделают, вы не можете использовать новый синтаксис.
Почему вы должны переключиться.
Учитывая, что для обновления требуется время (дополнительное тестирование, некоторые настройки вашего кода), может возникнуть соблазн отложить переключение на неопределенное время. Проблема в том, что Python не поддерживается бесконечно, а библиотеки не поддерживают все версии Python бесконечно. Так что, если вы работаете на 5-летней версии Python, переключение становится более сложным делом. Вместо одного масштабного страшного обновления каждые несколько лет, гораздо безопаснее проводить непрерывный процесс небольших обновлений.
Когда вы должны перейти на новую основную версию Python?
Как минимум, вам нужно будет подождать, пока:
1. все ваши библиотеки явно поддерживают новую версию Python;
2. все инструменты, на которые вы полагаетесь, явно поддерживают новую версию Python.
Как использовать строки в Python 3 новичку
Одним из наиболее распространенных типов данных в любом языке программирования является string. Строка представляет собой последовательность символов, которые вы могли бы использовать для представления имен пользователей, сообщений в блогах и любое другое содержание текста в вашем коде. Вы можете создать строку и присвоить ее такой переменной.
Вот некоторые общие задачи, которые вы можете выполнять при использовании строк в вашем коде.
Объединение строк — очень распространенная задача. В Python 3 вы можете использовать "+"-оператор для этой цели. Вы можете использовать его несколько раз, чтобы объединить несколько строк.
Одним из наиболее распространенных типов данных в любом языке программирования является string. Строка представляет собой последовательность символов, которые вы могли бы использовать для представления имен пользователей, сообщений в блогах и любое другое содержание текста в вашем коде. Вы можете создать строку и присвоить ее такой переменной.
my_name = "Джонатан Джостар"В Python строки считаются неизменяемыми — после их создания они не могут быть изменены. Однако можно использовать различные методы для создания новых строк из существующих. Этот тип работы в программировании называется манипулированием.
Вот некоторые общие задачи, которые вы можете выполнять при использовании строк в вашем коде.
Объединение строк — очень распространенная задача. В Python 3 вы можете использовать "+"-оператор для этой цели. Вы можете использовать его несколько раз, чтобы объединить несколько строк.
first_name = "Джонатан"Другая распространенная задача со строками — вставка данных в определенное место в строке. В программировании мы называем эту строку интерполяцией. Вот пример создания отформатированной строки (обратите внимание, что буква f включается непосредственно перед первой двойной кавычкой при определении message-переменной). Если вы хотите вставить данные из вашей программы в строку, вы можете включить их между двумя фигурными скобками — { }.
last_name = "Джостар"
full_name = first_name + "" + last_name
first_name = "Джонатан"Вы также захотите преобразовать строку во все заглавные буквы, используя upper-метод, к примеру, для отображения заголовков. А потом вы захотите перечислить наименования через запятую с помощью метода "split". Или заменить одно слово другим в предложении.
last_name = "Джостар"
age = 24
message = f"Меня зовут {first_name} {last_name}, и мне {age} лет."
print(message)
example_string = "am I stoked enough yet?"И в заключение, вам захочется конвертировать данные из одного типа в другой.
example_string = example_string.upper()
print(example_string) # prints "AM I STOKED ENOUGH YET?"
example_string = "We're having kale for dinner! Yay kale!"
example_string = example_string.replace("kale", "tacos")
print(example_string) # prints "We're having tacos for dinner! Yay tacos!"
example_string = "Apples,Oranges,Pears"
groceries = example_string.split(',')
example_number = 42
converted = str(example_number)
message = "Ответ на главный вопрос жизни, вселенной и всего такого — " + converted
example_string = "2"
converted = int(example_string)
message = f"Два плюс два равно { converted + 2 }"
Укажите все правильный способ использования print.
Anonymous Poll
5%
print 3
5%
print "3"
86%
print (3)
4%
print() * 3
Правильный ответ — print (3).
Объяснение: print является функцией в Python 3
Объяснение: print является функцией в Python 3
Метрики кода. Почему метрики кода важны?
Метрики кода могут быть получены с помощью инструментов статического анализа кода для определения сложности и нестандартных практик.
Почему метрики кода важны?
Метрики кода позволяют разработчикам находить проблемные области кодовой базы, которые могут нуждаться в рефакторинге. Кроме того, некоторые показатели, такие как техническая задолженность, помогают разработчикам сообщать нетехнической аудитории, почему возникают проблемы с системой.
Проекты с открытым исходным кодом
Radon — это инструмент для получения необработанных метрик на счетчиках линий, метрик цикломатической сложности, метрик Холстеда и метрик ремонтопригодности.
Pylint содержит средства проверки соответствия стиля кода PEP8, дизайна, исключений и многих других инструментов анализа исходного кода.
PyFlakes анализирует исходные файлы на наличие ошибок и сообщает о них.
Pyntch — это статический анализатор кода, который пытается обнаружить ошибки во время выполнения. Он не выполняет проверку стиля кода.
Prospector проверяет файлы исходного кода Python, чтобы предоставить данные о типе и местоположении классов, методов и другую связанную информацию об источнике.
Flake8 — это средство обеспечения соблюдения правил в формате кода. Его целью является не сбор метрик, а обеспечение единого стиля во всех ваших программах на Python для максимальной читабельности. Правила для Flask8 все определены в этом списке , который сворачивает зависимости Flake8 от pycodestyle, pyflakes и McCabe.
Black — это средство форматирования кода Python с сильными, бескомпромиссными предположениями о том, как ваш код должен быть отформатирован.
Dlint является носителем для безопасного кодирования.
pylintdb помещает результаты pylint в базу данных SQLite для программного доступа и поиска. Нед Бэтчелдер написал его и написал о том, как он использует программу в этом инструменте командной строки размером с кусочек: сообщение pylintdb .
Flask8-eradicate ( исходный код ) — это плагин Flask8 для определения мертвого кода.
Службы метрик размещенного кода
Следующие инструменты готовы к использованию, перейдя в службу, введя URL-адрес вашего сайта, позволив им выполнить анализ и затем прочитав результаты.
Coveralls показывает покрытие кода из наборов тестов и других метрик, чтобы помочь разработчикам улучшить качество своего кода.
webhint, ранее Sonarwhal, сканирует ваш сайт на предмет доступности, скорости и безопасности. Существует как онлайн-версия, на которую вы можете указать произвольный URL, так и версия для командной строки для запуска самостоятельно.
Codecov подключается к GitHub, BitBucket или GitLab и сообщает о покрытии кода в ваших хранилищах кода.
Метрики кода могут быть получены с помощью инструментов статического анализа кода для определения сложности и нестандартных практик.
Почему метрики кода важны?
Метрики кода позволяют разработчикам находить проблемные области кодовой базы, которые могут нуждаться в рефакторинге. Кроме того, некоторые показатели, такие как техническая задолженность, помогают разработчикам сообщать нетехнической аудитории, почему возникают проблемы с системой.
Проекты с открытым исходным кодом
Radon — это инструмент для получения необработанных метрик на счетчиках линий, метрик цикломатической сложности, метрик Холстеда и метрик ремонтопригодности.
Pylint содержит средства проверки соответствия стиля кода PEP8, дизайна, исключений и многих других инструментов анализа исходного кода.
PyFlakes анализирует исходные файлы на наличие ошибок и сообщает о них.
Pyntch — это статический анализатор кода, который пытается обнаружить ошибки во время выполнения. Он не выполняет проверку стиля кода.
Prospector проверяет файлы исходного кода Python, чтобы предоставить данные о типе и местоположении классов, методов и другую связанную информацию об источнике.
Flake8 — это средство обеспечения соблюдения правил в формате кода. Его целью является не сбор метрик, а обеспечение единого стиля во всех ваших программах на Python для максимальной читабельности. Правила для Flask8 все определены в этом списке , который сворачивает зависимости Flake8 от pycodestyle, pyflakes и McCabe.
Black — это средство форматирования кода Python с сильными, бескомпромиссными предположениями о том, как ваш код должен быть отформатирован.
Dlint является носителем для безопасного кодирования.
pylintdb помещает результаты pylint в базу данных SQLite для программного доступа и поиска. Нед Бэтчелдер написал его и написал о том, как он использует программу в этом инструменте командной строки размером с кусочек: сообщение pylintdb .
Flask8-eradicate ( исходный код ) — это плагин Flask8 для определения мертвого кода.
Службы метрик размещенного кода
Следующие инструменты готовы к использованию, перейдя в службу, введя URL-адрес вашего сайта, позволив им выполнить анализ и затем прочитав результаты.
Coveralls показывает покрытие кода из наборов тестов и других метрик, чтобы помочь разработчикам улучшить качество своего кода.
webhint, ранее Sonarwhal, сканирует ваш сайт на предмет доступности, скорости и безопасности. Существует как онлайн-версия, на которую вы можете указать произвольный URL, так и версия для командной строки для запуска самостоятельно.
Codecov подключается к GitHub, BitBucket или GitLab и сообщает о покрытии кода в ваших хранилищах кода.
PyPI
pylint
python code static checker
python3.pdf
172.9 KB
Шпаргалка для Python 3 👌😉
Питонический паттерн проектирования
Питонический подход — проектирование классов исключительно с позиционными аргументами, без именованных. Затем легко хранить аргументы в виде кортежа, который предоставляется отдельно от самого класса. Это знакомый подход класса стандартной библиотеки Thread, который запрашивает вызываемый target= отдельно от передаваемых args=(...). Вот наши пункты меню:
Однако, возможно, классу потребуются не только позиционные аргументы, но и именованные. В ответ на это предоставьте простые вызываемые объекты, используя лямбда-выражения для классов, которые требуют аргументов:
Питонический подход — проектирование классов исключительно с позиционными аргументами, без именованных. Затем легко хранить аргументы в виде кортежа, который предоставляется отдельно от самого класса. Это знакомый подход класса стандартной библиотеки Thread, который запрашивает вызываемый target= отдельно от передаваемых args=(...). Вот наши пункты меню:
menu = {В качестве альтернативы, каждый класс и аргументы располагайте в одном кортеже:
'whole note': (Note, (1,)),
'half note': (Note, (2,)),
'quarter note': (Note, (4,)),
'sharp': (Sharp, ()),
'flat': (Flat, ()),
}
menu = {Затем структура будет вызывать каждый объект с использованием некоторой вариации tup[0](*tup[1:]).
'whole note': (Note, 1),
'half note': (Note, 2),
'quarter note': (Note, 4),
'sharp': (Sharp,),
'flat': (Flat,),
}
Однако, возможно, классу потребуются не только позиционные аргументы, но и именованные. В ответ на это предоставьте простые вызываемые объекты, используя лямбда-выражения для классов, которые требуют аргументов:
menu = {Хотя лямбда-выражения не поддерживают быструю интроспекцию для проверки, они хорошо работают, если структура только вызывает их.
'whole note': lambda: Note(fraction=1),
'half note': lambda: Note(fraction=2),
'quarter note': lambda: Note(fraction=4),
'sharp': Sharp,
'flat': Flat,
}
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Управление зависимостями Python и упаковка стали проще!
poetry помогает объявлять, управлять и устанавливать зависимости проектов Python, гарантируя правильный стек везде.
poetry помогает объявлять, управлять и устанавливать зависимости проектов Python, гарантируя правильный стек везде.
Python Tricks (2017)
Автор: Dan Bader
#python #book #en
Язык: English.
Целевая аудитория: для начинающих и опытных разработчиков.
С помощью этой книги вы познакомитесь с лучшими практиками Python на простых, но практичных примерах. Вы станете на один шаг ближе к освоению Python, так что вы сможете написать красивый и идиоматический код, который вам придет естественным образом.
В книге рассматриваются следующие темы:
✔️ шаблоны для чистого Python;
✔️ эффективные функции;
✔️ классы и ООП;
✔️ общие структуры данных в Python;
✔️ циклы и итерации и многое другое.
Преимущества:
➕ помогает перейти на следующий уровень;
➕ краткое резюме после каждого раздела;
➕ простые и практичные предложения.
Недостатки:
➖ не обнаружено.
Автор: Dan Bader
#python #book #en
Язык: English.
Целевая аудитория: для начинающих и опытных разработчиков.
С помощью этой книги вы познакомитесь с лучшими практиками Python на простых, но практичных примерах. Вы станете на один шаг ближе к освоению Python, так что вы сможете написать красивый и идиоматический код, который вам придет естественным образом.
В книге рассматриваются следующие темы:
✔️ шаблоны для чистого Python;
✔️ эффективные функции;
✔️ классы и ООП;
✔️ общие структуры данных в Python;
✔️ циклы и итерации и многое другое.
Преимущества:
➕ помогает перейти на следующий уровень;
➕ краткое резюме после каждого раздела;
➕ простые и практичные предложения.
Недостатки:
➖ не обнаружено.