Forwarded from Python Academy
Перегрузка операторов
Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими.
Например, выше в классе
Для перегрузки оператора
Таким образом, когда разработчик пишет запись
#классы
Сначала стоит напомнить, что методы, которые начинаются и заканчиваются двойными нижними подчеркиваниями, называются магическими.
Например, выше в классе
Point
мы определили __str__
, который отвечает за то, как выводятся объекты класса на экран.Для перегрузки оператора
"+"
нужно определить метод __add__
. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.Таким образом, когда разработчик пишет запись
p1 + p2
, интерпретатор воспринимает это в виде Point.__add__(p1, p2)
. Для всех операторов в языке, включая и логические, есть свои магические методы. #классы
Forwarded from Python Academy
Минималистичный ORM
Для любителей работать с базами данных SQLite 3 или MySQL наш подписчик разрабатывает простой и эффективный способ взаимодействия – библиотека mysqlite.
Такая компактная ORM является промежуточным этапом между работой со всеми знакомым SQLAlchemy и использованием чистого SQL у себя в коде.
Проект находится на ранней стадии разработки. Тем не менее, CRUD операции уже реализованы, а также присутствует несколько вспомогательных методов.
P. S. Присылайте свои проекты в личные сообщения @a1f20. Про самое интересное расскажем на канале.
#проектподписчика
Для любителей работать с базами данных SQLite 3 или MySQL наш подписчик разрабатывает простой и эффективный способ взаимодействия – библиотека mysqlite.
Такая компактная ORM является промежуточным этапом между работой со всеми знакомым SQLAlchemy и использованием чистого SQL у себя в коде.
Проект находится на ранней стадии разработки. Тем не менее, CRUD операции уже реализованы, а также присутствует несколько вспомогательных методов.
P. S. Присылайте свои проекты в личные сообщения @a1f20. Про самое интересное расскажем на канале.
#проектподписчика
Forwarded from Библиотека питониста | Python, Django, Flask
Supercharged Python: Take Your Code to the Next Level (2019)
Авторы: Brian Overland, John Bennett
Количество страниц: 672
Книга написана для людей, которые знают основы Python и хотят поднять свои навыки на новый уровень. Автор рассказывает о способах, позволяющих писать более быстрый и мощный код, независимо от того, работаете ли вы с большими массивами данных или создаёте сложные приложения.
Скачать книгу
Авторы: Brian Overland, John Bennett
Количество страниц: 672
Книга написана для людей, которые знают основы Python и хотят поднять свои навыки на новый уровень. Автор рассказывает о способах, позволяющих писать более быстрый и мощный код, независимо от того, работаете ли вы с большими массивами данных или создаёте сложные приложения.
Скачать книгу
Telegram
Книги для программистов (reserved)
Supercharged Python: Take Your Code to the Next Level (2019)
Авторы: Brian Overland, John Bennett
Авторы: Brian Overland, John Bennett
Forwarded from Python Academy
Удаление префиксов и суффиксов
По какой-то неизведанной причине многие разработчики посчитали эту фичу в обновлении 3.9 не очень интересной и попросту забыли. И зря.
Некоторые на полном серьезе для таких целей до сих пор пытаются использовать забагованные
И всё же, в Python 3.9 были добавлены методы для строк
#строки
По какой-то неизведанной причине многие разработчики посчитали эту фичу в обновлении 3.9 не очень интересной и попросту забыли. И зря.
Некоторые на полном серьезе для таких целей до сих пор пытаются использовать забагованные
.strip
и .lsrtip
. Точнее, большинство просто не до конца понимают, как работают эти два метода.И всё же, в Python 3.9 были добавлены методы для строк
.removeprefix
и .removesuffix
, предназначенные специально для удаления префиксов и суффиксов в строках.#строки
Forwarded from Библиотека питониста | Python, Django, Flask
7 вопросов с собеседований по Python, на которые необходимо знать ответ.
https://proglib.io/w/95cd61c9
https://proglib.io/w/95cd61c9
Medium
Must Know Python Developer Interview Questions
7 Questions and Answers
Forwarded from 🇻 🇱 🇦 🇩
Привет, прям такие митапы регулярные не знаю, но я думал в инете есть достаточно информации на этот счет
Forwarded from 🇻 🇱 🇦 🇩
Ryan_Mitchell_-_Web_Scraping_with_Python_Collec.pdf
4 MB
Forwarded from Python Lounge: работа и стажировки для программистов
Работа в хорошем редакторе способствует созданию здорового проекта, хорошие редакторы всячески помагают разработчику, а плохие либо не помагают , либо вовсе препятствуют разработке.
Вот лучшие редакторы для python-разработчиков по мнению опытных питонистов...🚀
1. PyCharm
2. Spyder
3. SublimeText
4. Jupyter
5. Atom
6. Python IDLE
7. VSCode
8. Wing
9. Thonny
10. PyDev
Приятный глазу UI в соответствии с сильной функциональностью является несущим звеном каждого успешного проекта.
Вот лучшие редакторы для python-разработчиков по мнению опытных питонистов...🚀
1. PyCharm
2. Spyder
3. SublimeText
4. Jupyter
5. Atom
6. Python IDLE
7. VSCode
8. Wing
9. Thonny
10. PyDev
Приятный глазу UI в соответствии с сильной функциональностью является несущим звеном каждого успешного проекта.
Forwarded from Библиотека питониста | Python, Django, Flask
Использование синтаксического сахара в Python для устранения повторения кода.
https://proglib.io/w/3008231f
https://proglib.io/w/3008231f
Medium
Using Python’s Syntactic Sugar To Remove Code Repetition
In this article, I am going to investigate some ways of dealing with repeating code, whereas using some cool python syntactical tricks.
Forwarded from Хитрый Питон
Продолжаю рассказывать о том, как избавиться от лишних if/elif/else. В этом видео рассмотрю более сложный случай - когда по условию нужн не просто вернуть значение, а выполнить какое-то действие https://www.youtube.com/watch?v=-VVwwt6jNSQ
YouTube
Упрощаем if/elif/else используя функции и словари в python
В прошлом видео я показал несколько способов, как избавиться от сложных ветвлений. В этот раз давайте посмотрим как быть в еще более сложных случаях - когда нам надо делать разный набор действий в зависимости от разных условий. Будем использовать словари…
Forwarded from Python Academy
Именованные кортежи
Кортежи
Нет возможности дать имена отдельным элементам, сохранённым в кортеже. Это может повлиять на читаемость кода. И в таком случае используют именованные кортежи
Каждый объект в именованном кортеже может быть доступен через уникальный, удобный для чтения человеком, идентификатор. При этом вся функциональность от обычных кортежей сохраняется.
#namedtuple
Кортежи
tuple
, по своей сути, являются неизменяемыми списками. Структура данных удобная, но мы можем получать данные, используя только числовые индексы. Нет возможности дать имена отдельным элементам, сохранённым в кортеже. Это может повлиять на читаемость кода. И в таком случае используют именованные кортежи
namedtuple
из collections
. Каждый объект в именованном кортеже может быть доступен через уникальный, удобный для чтения человеком, идентификатор. При этом вся функциональность от обычных кортежей сохраняется.
#namedtuple
Forwarded from Python Academy
Упрощение создания операторов сравнения
Для создания объектов с поддержкой операторов сравнения в классе обычно требуется реализовать большое количество магических методов, а именно –
Про то, что делает каждый из них расскажем отдельным постом, но сейчас покажем, как можно сильно упростить реализацию подобного класса. Для этого можно использовать декоратор
В таком случае достаточно реализовать в классе только
#классы
Для создания объектов с поддержкой операторов сравнения в классе обычно требуется реализовать большое количество магических методов, а именно –
__lt__
, __le__
, __eq__
, __ne__
, __gt__
, __ge__
.Про то, что делает каждый из них расскажем отдельным постом, но сейчас покажем, как можно сильно упростить реализацию подобного класса. Для этого можно использовать декоратор
total_ordering
из пакета functools
.В таком случае достаточно реализовать в классе только
__lt__
и __eq__
. Эти два метода являются минимумом, который нужен декоратору для конструирования остальных методов.#классы
Forwarded from Python Academy
Первые шаги в Python
Специально для начинающих сделали универсальную подборку ресурсов для изучения Python с полного нуля.
Подборка включает в себя бесплатные онлайн-курсы, книги, YouTube каналы, сайты для практики и другое.
Читать 2 минуты
#статья
Специально для начинающих сделали универсальную подборку ресурсов для изучения Python с полного нуля.
Подборка включает в себя бесплатные онлайн-курсы, книги, YouTube каналы, сайты для практики и другое.
Читать 2 минуты
#статья
Forwarded from Python Academy
Перегрузка операторов сравнения
В случае, если вам в коде необходимо сравнивать объекты какого-либо класса, требуется реализовать магические методы, которые вызываются при сравнении.
Например, под капотом записи
Писать все шесть методов получается слегка громоздко, поэтому зачастую используют декоратор
#классы
В случае, если вам в коде необходимо сравнивать объекты какого-либо класса, требуется реализовать магические методы, которые вызываются при сравнении.
Например, под капотом записи
a < b
вызывается a.__lt__(b)
. Для каждого оператора сравнения существует свой магический метод. Подробнее про то, какой метод за какой оператор отвечает, выше в коде. Писать все шесть методов получается слегка громоздко, поэтому зачастую используют декоратор
total_ordering
из functools
. Про него, кстати, недавно писали пост. #классы
Forwarded from Python Lounge: работа и стажировки для программистов
👉Использование кортежей в Python🐍
Кортеж - это упорядоченная и неизменяемая коллекция. В python кортежи записываются в круглые скобки.
Пример:
Доступ к элементам кортежа
Вы получаете доступ к элементам кортежа, ссылаясь на номер индекса в квадратных скобках
Пример:
Отрицательная индексация
Отрицательная индексация означает начало с конца, -1 относится к последнему элементу, -2 относится ко второму последнему элементу и т. д.
Пример:
Диапазон индексов
Вы можете указать диапазон индексов, указав, где начать и где закончить диапазон.
При указании диапазона возвращаемое значение будет новым кортежем с указанными элементами.
Пример:
Изменить значения кортежа
Как только кортеж создан, он не может изменить свои значения. Кортежи неизменяемы или являются immutable как это еще называется.
Но есть обходной путь. Вы можете преобразовать указатель в список, изменить список и преобразовать список обратно в кортеж.
Пример:
Кортеж - это упорядоченная и неизменяемая коллекция. В python кортежи записываются в круглые скобки.
Пример:
this_tuple = ("apple", "banana", "cherry")
print (this_tuple)
#>>> ('apple', 'banana', 'cherry')
Доступ к элементам кортежа
Вы получаете доступ к элементам кортежа, ссылаясь на номер индекса в квадратных скобках
Пример:
this_tuple = ("apple", "banana", "cherry")
print (this_tuple[1])
print (this_tuple[0])
print (this_tuple[2])
#>>>banana
#>>>apple
#>>>cherry
Отрицательная индексация
Отрицательная индексация означает начало с конца, -1 относится к последнему элементу, -2 относится ко второму последнему элементу и т. д.
Пример:
this_tuple = ("apple", "banana", "cherry")
print (this_tuple[-1])
print (this_tuple[-2])
print (this_tuple[-3])
#>>>cherry
#>>>banana
#>>>apple
Диапазон индексов
Вы можете указать диапазон индексов, указав, где начать и где закончить диапазон.
При указании диапазона возвращаемое значение будет новым кортежем с указанными элементами.
Пример:
this_tuple = ("apple", "banana", "cherry", "mango")
print (this_tuple[1:3])
print (this_tuple[0:2])
print (this_tuple[0:1])
#>>('banana', 'cherry'
)#>>>('apple', banana')
#>>>('apple')
Изменить значения кортежа
Как только кортеж создан, он не может изменить свои значения. Кортежи неизменяемы или являются immutable как это еще называется.
Но есть обходной путь. Вы можете преобразовать указатель в список, изменить список и преобразовать список обратно в кортеж.
Пример:
x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)
print (x)
#>>>('apple', 'kiwi', 'cherry')