Forwarded from Junction Bot
TM FEED
[Перевод] Новые фичи Python 3.8 и самое время перейти с Python 2
https://habr.com/ru/post/483276/
Tags: Python, Программирование, Python 3.8
Author germn on #habrahabr
@
[Перевод] Новые фичи Python 3.8 и самое время перейти с Python 2
https://habr.com/ru/post/483276/
Tags: Python, Программирование, Python 3.8
Author germn on #habrahabr
@
Хабр
Новые фичи Python 3.8 и самое время перейти с Python 2
Наступил 2020 год, а значит, Python 2 перестал поддерживаться. Если быть совсем точным, то основные разработчики уже перестали заниматься веткой, а выход релиза...
Forwarded from CoolPython
Введение в декораторы
В нескольких следующих постах я хочу поговорить о декораторах. Будет базовое определение, мотивация их использовать, всякие хитрости, а еще куча примеров.
Прежде, чем говорить о декораторах, нужно кое-то узнать о функциях в Python. Допустим, у нас есть функция, которая здоровается с Юпи:
🐙 Функцию можно присвоить переменной:
Это и назвается декоратор. Это настолько удобный и мощный инструмент, что в Python для него придумали спецальный синтаксический сахар. При условии, что функция
🐙 Декораторы используют в веб фреймворках для проверки авторизации или для разделения групп пользователей. Например, часть методов доступна только авторизованным пользователям, либо пользователям с определенной ролью, а остальные методы -- всем. Для этого нужные методы оборачивают в декораторы, которе делают необходимые проверки.
🐙 Декораторы позволяют проверить, что аргументы функции имеют нужный тип и значения. Это можно сделать на входе в функцию, но иногда проверки переносят в функцию-обертку.
🐙 С помощью декоратора можно замерять время выполнения функций.
В следующих постах разберемся, как комбинировать декораторы и передавать в декоратор параметры. Всем пять!🐠
В нескольких следующих постах я хочу поговорить о декораторах. Будет базовое определение, мотивация их использовать, всякие хитрости, а еще куча примеров.
Прежде, чем говорить о декораторах, нужно кое-то узнать о функциях в Python. Допустим, у нас есть функция, которая здоровается с Юпи:
def hey_Jupi():
print("Привет, Юпи!")
Функции в Python -- это объекты первого класса, ничем не хуже, чем int
'ы или словари. Это значит, что:🐙 Функцию можно присвоить переменной:
say_hi = hey_Jupi
say_hi()
# Привет, Юпи!
🐙 Функцию можно вернуть из функции:
def wrapper(func):
print("Юпи пришла.")
return func
hello_Jupi = wrapper(hey_Jupi)
# Юпи пришла.
hello_Jupi()
# Привет, Юпи!
🐙 Функцию можно определить внутри другой функции:
def deco(func):
def wrapper():
print("Юпи пришла.")
func()
return wrapper
hey_Jupi = deco(hey_Jupi)
hey_Jupi()
# Юпи пришла.
# Привет, Юпи!
Смотрите, что получилось на последнем шаге. На этапе создания deco
никакой код не выполняется -- мы заходим в deco
, видим, что здесь определена функция wrapper
и возвращаем ее. Таким образом мы подменяем исходную hey_Jupi
на wrapper и получаем новое поведение hey_Jupi
, не изменяя ее код!Это и назвается декоратор. Это настолько удобный и мощный инструмент, что в Python для него придумали спецальный синтаксический сахар. При условии, что функция
deco
у нас уже определена так же, как выше, можно добавить название декоратора с символом @
перед определением функции и получить эквивалентное поведение:
@deco
def hey_Jupi():
print("Привет, Юпи!")
hey_Jupi()
# Юпи пришла.
# Привет, Юпи!
Кстати, этот же декоратор можно применить и к любой другой функции:
@deco
def take_five():
print("Юпи, дай пять!")
take_five()
# Юпи пришла.
# Юпи, дай пять!
Декораторы круты тем, что позоляют гибко модифицировать поведение функции, применять одну и ту же модификацию к нескольким функциям сразу и даже менять поведение функций, доступа к коду которых у нас нет! Зачем нам декораторы на реальных проектах?🐙 Декораторы используют в веб фреймворках для проверки авторизации или для разделения групп пользователей. Например, часть методов доступна только авторизованным пользователям, либо пользователям с определенной ролью, а остальные методы -- всем. Для этого нужные методы оборачивают в декораторы, которе делают необходимые проверки.
🐙 Декораторы позволяют проверить, что аргументы функции имеют нужный тип и значения. Это можно сделать на входе в функцию, но иногда проверки переносят в функцию-обертку.
🐙 С помощью декоратора можно замерять время выполнения функций.
В следующих постах разберемся, как комбинировать декораторы и передавать в декоратор параметры. Всем пять!🐠
Есть вот такой словарь:
Как получить имя самого старшего спортсмена?
Решение через полчаса.
sports ={
'Nikolai':{
'weight':92,
'height':187,
'age':32
},
'Natasha':{
'weight':65,
'height':170,
'age':24
},
'Boris':{
'weight':87,
'height':180,
'age':28
}
}
Как получить имя самого старшего спортсмена?
Решение через полчаса.
Forwarded from # pip install (Student B.)
🔥 Pathlib - манипуляция путями, создание и удаление папок и файлов
🎯 Telegram Чат: @python_scripts
🎯 Канал: @pip_install
Модуль Pathlib в Python упрощает работу с файлами и папками. Он доступен в Python 3.4 и более поздних версиях. Pathlib сочетает в себе лучшее из модулей файловой системы Python — os, os.path, glob и так далее.
Содержание статьи
1. Концепт пути и директории в Python
2. Как использовать модуль Pathlib?
3. Зачем использовать модуль Pathlib?
4. Создание и удаление папок через Pathlib
5. Генерация кроссплатформенных путей в Pathlib
6. Получение информации о пути в Pathlib
7. Альтернатива для модуля glob
8. Чтение и запись файлов с использованием Pathlib
Подробнее: https://python-scripts.com/pathlib
🎯 Telegram Чат: @python_scripts
🎯 Канал: @pip_install
Модуль Pathlib в Python упрощает работу с файлами и папками. Он доступен в Python 3.4 и более поздних версиях. Pathlib сочетает в себе лучшее из модулей файловой системы Python — os, os.path, glob и так далее.
Содержание статьи
1. Концепт пути и директории в Python
2. Как использовать модуль Pathlib?
3. Зачем использовать модуль Pathlib?
4. Создание и удаление папок через Pathlib
5. Генерация кроссплатформенных путей в Pathlib
6. Получение информации о пути в Pathlib
7. Альтернатива для модуля glob
8. Чтение и запись файлов с использованием Pathlib
Подробнее: https://python-scripts.com/pathlib
Forwarded from MoscowPython Conf Channel
На Moscow Python Conf++ Никита Воронов будет выступать с докладом о Dependency Hell. Перед конференцией Никита Соболев взял у него интервью, расспросил о докладе и узнал о резолвинге зависимостей, боли плохих решений, DepHell, pip, принципе first match wins, Гвидо и сообществе, Pipflie, инкрементальном развитии Python, какое решение из Go можно было бы взять в Python, и будущем экосистемы в плане работы с зависимостями. https://habr.com/ru/company/oleg-bunin/blog/483920/
Хабр
Хаос зависимостей в Python
Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что...
Forwarded from # pip install
Полный обзор новой версии Python 3.7
Python 3.7 официально вышел! Новая версия Python была в разработке с сентября 2016 года и теперь мы все можем порадоваться результату работы команды разработчиков.
✌️ Обзор с Примерами: https://python-scripts.com/python-3-7
Python 3.7 официально вышел! Новая версия Python была в разработке с сентября 2016 года и теперь мы все можем порадоваться результату работы команды разработчиков.
✌️ Обзор с Примерами: https://python-scripts.com/python-3-7
Python 3
Полный обзор новой версии Python 3.7
Python 3.7 официально вышел! Python 3.7 работает быстро. Это самая быстрая версия CPython на данный момент. Каждая новая версия включает ряд оптимизаций.
Forwarded from # pip install
Что можно делать с Python?
В данной статье мы рассмотрим несколько разных проектов, ресурсов и руководств, которые вы можете использовать для создания чего-либо в Python.
Подробнее: https://python-scripts.com/what-can-i-do-with-python
В данной статье мы рассмотрим несколько разных проектов, ресурсов и руководств, которые вы можете использовать для создания чего-либо в Python.
Подробнее: https://python-scripts.com/what-can-i-do-with-python
Python 3
Что можно делать с Python?
В данной статье мы рассмотрим несколько разных проектов, ресурсов и руководств, которые вы можете использовать для создания чего-либо в Python.
Forwarded from Библиотека питониста | Python, Django, Flask
#codeexample
Python 3.5+ позволяет передавать несколько наборов
аргументов ключевого слова («kwargs») для функции в пределах одного вызова, используя синтаксис «»:
Python 3.5+ позволяет передавать несколько наборов
аргументов ключевого слова («kwargs») для функции в пределах одного вызова, используя синтаксис «»:
def process_data(a, b, c, d):
print(a, b, c, d)
x = {'a': 1, 'b': 2}
y = {'c': 3, 'd': 4}
process_data(**x, **y)
# 1 2 3 4
process_data(**x, c=23, d=42)
#1 2 23 42
Forwarded from Библиотека питониста | Python, Django, Flask
Хотите подтянуть свои знания в Python? Наша подборка поможет лучше освоиться в независимости вашей подготовки:
https://proglib.io/p/python-from-newbie-to-professional/
https://proglib.io/p/python-from-newbie-to-professional/
Библиотека программиста
Программирование на Python: от новичка до профессионала
Пошаговая инструкция для всех, кто хочет изучить программирование на Python (или программирование вообще), но не знает, куда сделать первый шаг.
Forwarded from Библиотека питониста | Python, Django, Flask
#книгадня
«Python. К вершинам мастертва» (англ. «Fluent Python») — эту книгу можно смело считать библией любого неначинающего разработчика на Python. Она не только покрывает все аспекты языка программиования, но и рассказывает о том, почему они так работают. Даже если у вас довольно большой опыт программирования, вы все равно узнаете что-то новое.
Почитать: https://t.me/progbook/796
«Python. К вершинам мастертва» (англ. «Fluent Python») — эту книгу можно смело считать библией любого неначинающего разработчика на Python. Она не только покрывает все аспекты языка программиования, но и рассказывает о том, почему они так работают. Даже если у вас довольно большой опыт программирования, вы все равно узнаете что-то новое.
Почитать: https://t.me/progbook/796
Telegram
Книги для программистов
Forwarded from Библиотека питониста | Python, Django, Flask
Какая разница между одинарным (_) и двойным (__) подчеркиванием? Исчерпывающий ответ здесь: https://hackernoon.com/understanding-the-underscore-of-python-309d1a029edc
Hackernoon
Understanding the underscore( _ ) of Python
The <em>underscore</em> (_) is special in Python.
Forwarded from Skillbox: образовательная платформа
Python — самый популярный язык программирования по версии рейтинга PYPL. Почему новички выбирают именно его? Какими он обладает преимуществами? С чего начать обучение? И почему он называется Python? На последний вопрос ответим здесь: в честь комедийного телешоу «Летающий цирк Монти Пайтона». Все остальное найдете в статье.
#Статья_Skillbox #Skillbox_программирование
#Статья_Skillbox #Skillbox_программирование
Skillbox
Начинаем программировать на Python
Рассказываем, зачем учить Python и как это поможет при работе в Data Science. Идём пошагово: от установки дистрибутива до первых практических опытов.
Forwarded from # pip install (Student B.)
Разница между Python 2 и Python 3 - Кого выбрать? 🤔
🎯 Telegram Чат: @python_scripts
🎯 Канал: @pip_install
Многие пользователи задаются вопросом, с какой версии Python следует начинать изучение данного языка. Зачастую новички останавливаются на версии, которая фигурирует в рассматриваемом ими учебном пособии.
Содержание статьи
1. Что такое Python 2?
2. Что такое Python 3?
3. Что нужно знать о Python 2?
4. Какую версию Python использовать?
5. История Python 2
6. История Python 3
7. Главные различия между Python 2 и Python 3
8. Модуль future Python
9. Сравнительные примеры кода Python 2 и Python 3
10. Функция print в Python 2 и Python 3
11. Деление целых чисел в Python 2 и Python 3
12. Юникод в Python 2 и Python 3
13. Функция xrange() в Python 2
14. Метод contains для объектов range в Python 3
15. Разница в скорости между Python 2 и Python 3
16. Вызов исключений в разных версиях Python
17. Обработка исключений в Python 2 и Python 3
Подробнее: https://python-scripts.com/python-2-vs-3
🎯 Telegram Чат: @python_scripts
🎯 Канал: @pip_install
Многие пользователи задаются вопросом, с какой версии Python следует начинать изучение данного языка. Зачастую новички останавливаются на версии, которая фигурирует в рассматриваемом ими учебном пособии.
Содержание статьи
1. Что такое Python 2?
2. Что такое Python 3?
3. Что нужно знать о Python 2?
4. Какую версию Python использовать?
5. История Python 2
6. История Python 3
7. Главные различия между Python 2 и Python 3
8. Модуль future Python
9. Сравнительные примеры кода Python 2 и Python 3
10. Функция print в Python 2 и Python 3
11. Деление целых чисел в Python 2 и Python 3
12. Юникод в Python 2 и Python 3
13. Функция xrange() в Python 2
14. Метод contains для объектов range в Python 3
15. Разница в скорости между Python 2 и Python 3
16. Вызов исключений в разных версиях Python
17. Обработка исключений в Python 2 и Python 3
Подробнее: https://python-scripts.com/python-2-vs-3
Forwarded from Python Academy
Switch-конструкция с помощью словаря
Привет, на связи Адриан. Начинающие программисты достаточно часто спрашивают меня про switch-конструкции, а в Python их вобщем-то нет.
Однако существует одно хитрое решение – использовать словарь, где значениями будут функции. В качестве примера напишем словарь, который будет использован для математических операторов.
В этом примере я использовал lambda-функции для упрощения кода, но вместо них можете подставить любые другие. Объясню немного подробнее,
Думаю, такой подход удобнее башни из условных конструкций.
Привет, на связи Адриан. Начинающие программисты достаточно часто спрашивают меня про switch-конструкции, а в Python их вобщем-то нет.
Однако существует одно хитрое решение – использовать словарь, где значениями будут функции. В качестве примера напишем словарь, который будет использован для математических операторов.
В этом примере я использовал lambda-функции для упрощения кода, но вместо них можете подставить любые другие. Объясню немного подробнее,
lambda
– объявление анонимной функции, x
и y
- принимаемые аргументы, x + y
– возвращаемый результат.Думаю, такой подход удобнее башни из условных конструкций.
Forwarded from Библиотека питониста | Python, Django, Flask
Serious Python (2018)
Настоящее руководство считается одним из лучших сборников лучших приемов и практик разработки на Python. Вы узнаете про основные шаблоны проектирования, лучшие инструменты и практики программирования. Также руководство содержит интервью с разными разработчиками, которые поделятся с вами своим опытом.
Настоящее руководство считается одним из лучших сборников лучших приемов и практик разработки на Python. Вы узнаете про основные шаблоны проектирования, лучшие инструменты и практики программирования. Также руководство содержит интервью с разными разработчиками, которые поделятся с вами своим опытом.