Вы можете использовать любой объект в качестве ключа в Python, если он реализует метод
#codeexample
Вам также следует избегать использования изменяемых объектов в качестве ключей, потому что, как только объект становится не равным старому, его больше нельзя найти в словаре.
Есть также одна странная вещь, которая может удивить вас во время отладки или модульного тестирования:
В CPython -1 внутренне зарезервирован для состояний ошибок, поэтому он неявно преобразуется в -2.
__hash__
. Этот метод может возвращать любое целое число, если выполняется только одно требование: одинаковые объекты должны иметь одинаковые хэши (не наоборот).#codeexample
Вам также следует избегать использования изменяемых объектов в качестве ключей, потому что, как только объект становится не равным старому, его больше нельзя найти в словаре.
Есть также одна странная вещь, которая может удивить вас во время отладки или модульного тестирования:
...: class A:
...: def __init__(self, x):
...: self.x = x
...:
...: def __hash__(self):
...: return self.x
...:
In : hash(A(2))
Out: 2
In : hash(A(1))
Out: 1
In : hash(A(0))
Out: 0
In : hash(A(-1)) # sic!
Out: -2
In : hash(A(-2))
Out: -2
В CPython -1 внутренне зарезервирован для состояний ошибок, поэтому он неявно преобразуется в -2.
Серия полезных видео для Python разработчика
1. Ты неправильно замеряешь время в Python! Или нет?
2. Запуск среды разработки в tmux
3. Ищем ботов в Instagram подписчиках на Python
4. Разрабатывать в Vim или в IDE? Vim vs IDE. Где писать код?
5. Именование переменных, классов и методов в коде
#youtubeдня
https://prglb.ru/4j5vv
1. Ты неправильно замеряешь время в Python! Или нет?
2. Запуск среды разработки в tmux
3. Ищем ботов в Instagram подписчиках на Python
4. Разрабатывать в Vim или в IDE? Vim vs IDE. Где писать код?
5. Именование переменных, классов и методов в коде
#youtubeдня
https://prglb.ru/4j5vv
Видео докладов с Python Meetup Chelyabinsk #5
1. GIL: почему это боль и как с ним жить — Иван Меньших, RaRe Technologies
2. Introducing dry-python — Артем Малышев
3. Что внутри asyncio — Александр Меренков, Antida software
4. Как прокачать линтер — Максим Мазаев, ЦИАН
5. Один в поле не воин, или причем тут OSS — Егор Пирогов, 100 Макетов
#видеодня
https://prglb.ru/5tpbk
1. GIL: почему это боль и как с ним жить — Иван Меньших, RaRe Technologies
2. Introducing dry-python — Артем Малышев
3. Что внутри asyncio — Александр Меренков, Antida software
4. Как прокачать линтер — Максим Мазаев, ЦИАН
5. Один в поле не воин, или причем тут OSS — Егор Пирогов, 100 Макетов
#видеодня
https://prglb.ru/5tpbk
Совет по Python Pro: Хотите использовать R / Java / C или любой другой язык в Python?
Python предоставляет наиболее простой способ справиться с ситуациями, когда нам приходится переключаться между несколькими языками.
#статьядня
https://prglb.ru/4klve
Python предоставляет наиболее простой способ справиться с ситуациями, когда нам приходится переключаться между несколькими языками.
#статьядня
https://prglb.ru/4klve
Towards Data Science
Python Pro Tip: Want to use R/Java/C or Any Language in Python?
Python provides a basic and simple way to handle such requirements where we have to switch to and fro between multiple languages
Когда скончалась фантазия: подборка идей для создания проекта
Реализовываете скучные концепции, потому что так советуют в учебниках? Чтобы такого не было, мы собрали несколько идей для создания проекта.
#стятьядня
https://prglb.ru/47lwi
Реализовываете скучные концепции, потому что так советуют в учебниках? Чтобы такого не было, мы собрали несколько идей для создания проекта.
#стятьядня
https://prglb.ru/47lwi
Visual Studio Code для Python разработчика
Из данного видео вы узнаете, как установить VSCode, установить расширение Python, как изменить интерпретаторы Python, создать виртуальные среды, отформатировать/интерпретировать ваш код, как использовать Git в VSCode, как отлаживать программы, как выполнять модульное тестирование и многое другое.
#видеодня
https://prglb.ru/1kura
Из данного видео вы узнаете, как установить VSCode, установить расширение Python, как изменить интерпретаторы Python, создать виртуальные среды, отформатировать/интерпретировать ваш код, как использовать Git в VSCode, как отлаживать программы, как выполнять модульное тестирование и многое другое.
#видеодня
https://prglb.ru/1kura
Как использовать sorted() и sort() в Python
В этом руководстве вы узнаете, как сортировать различные типы данных в разных структурах данных, настраивать порядок и работать с двумя различными методами сортировки в Python.
#статьядня
https://prglb.ru/1ca2w
В этом руководстве вы узнаете, как сортировать различные типы данных в разных структурах данных, настраивать порядок и работать с двумя различными методами сортировки в Python.
#статьядня
https://prglb.ru/1ca2w
Sockets with Python 3
В данном видеокурсе автор раскажет все о библиотеке сокетов - части стандартной бибилотеки Python.
#видеодня
https://prglb.ru/2skbn
В данном видеокурсе автор раскажет все о библиотеке сокетов - части стандартной бибилотеки Python.
#видеодня
https://prglb.ru/2skbn
В Python 3.4+ вы можете использовать
#codeexample
# Это эквивалентно:
# Вернуть менеджер контекста, который подавляет
# любое из указанных исключений, если они встречаются
# в теле оператора with, а затем возобновляет
# выполнение с первым оператором после конца
# оператора with."
contextlib.suppress()
, чтобы выборочно игнорировать определенные исключения:#codeexample
import contextlib
with contextlib.suppress(FileNotFoundError):
os.remove('somefile.tmp')
# Это эквивалентно:
try:
os.remove('somefile.tmp')
exept FileNotFoundError:
pass
# Вернуть менеджер контекста, который подавляет
# любое из указанных исключений, если они встречаются
# в теле оператора with, а затем возобновляет
# выполнение с первым оператором после конца
# оператора with."
Ближе к земле: Python и низкоуровненые операции
Сегодня мы расскажем, как особенности работы с компьютерной памятью влияют на функциональные возможности Python, разберёмся, где этот язык теряет скорость и почему это не мешает ему обходить конкурентов по эффективности программирования.
#статьядня
https://prglb.ru/1bodt
Сегодня мы расскажем, как особенности работы с компьютерной памятью влияют на функциональные возможности Python, разберёмся, где этот язык теряет скорость и почему это не мешает ему обходить конкурентов по эффективности программирования.
#статьядня
https://prglb.ru/1bodt
Python Requests Beginner Tutorial - GET Requests With Translate API
В этом видео автор представит вам библиотеку запросов Python, рассказывая о том, как выполнять запросы GET и POST и продемонстрирует их отправку с помощью Stripe API.
#видеодня
Часть 1:
https://prglb.ru/3dx3q
Часть 2:
https://prglb.ru/4sd93
В этом видео автор представит вам библиотеку запросов Python, рассказывая о том, как выполнять запросы GET и POST и продемонстрирует их отправку с помощью Stripe API.
#видеодня
Часть 1:
https://prglb.ru/3dx3q
Часть 2:
https://prglb.ru/4sd93
Вместо изменения оформленной функции вы можете создать другой вызываемый класс, который будет возвращать его экземпляры вместо функции:
#codeexample
#codeexample
lass CallableWithOrig:
def __init__(self, to_call, orig):
self._to_call = to_call
self._orig = orig
def __call__(self, *args, **kwargs):
return self._to_call(*args, **kwargs
@property
def orig(self):
if isinstance(self._orig, type(self)):
return self._orig.orig
else:
return self._orig
class SavingOrig:
def __init__(self, another_decorator):
self._another = another_decorator
def __call__(self, f):
return CallableWithOrig(self._another(f), f)
saving_orig = SavingOrig
Алгоритмы сортировки с примерами на Python
Иногда данные, которые мы храним или извлекаем в приложении, могут иметь небольшой или нулевой порядок. Возможно, придется изменить данные, чтобы правильно их обработать или эффективно использовать.
В этой статье рассмотрены популярные алгоритмы сортировки, принципы их работы, и представлены примеры на Python. Также автор сравнивает, как быстро они сортируют элементы в списке.
#статьядня
https://prglb.ru/3yo22
Иногда данные, которые мы храним или извлекаем в приложении, могут иметь небольшой или нулевой порядок. Возможно, придется изменить данные, чтобы правильно их обработать или эффективно использовать.
В этой статье рассмотрены популярные алгоритмы сортировки, принципы их работы, и представлены примеры на Python. Также автор сравнивает, как быстро они сортируют элементы в списке.
#статьядня
https://prglb.ru/3yo22
Stack Abuse
Sorting Algorithms in Python
Introduction Sometimes data we store or retrieve in an application can have little or no order. We may have to rearrange the data to correctly process it or efficiently use it. Over the years, computer scientists have created many sorting algorithms to organize…
Спортивное программирование на Python
Event: PYCON RUSSIA 2018
Speaker: Андрей Солдатенко
#видеодня
https://prglb.ru/1rf1n
Event: PYCON RUSSIA 2018
Speaker: Андрей Солдатенко
#видеодня
https://prglb.ru/1rf1n
Работаете с масивами данных, но не используете Python?
Смело обрабатывайте сотни гигабайт, автоматизируйте отчетность, стройте «дэшборды», решайте повседневные аналитические задачи с помощью Python → https://clc.to/juwjnw
В SkillFactory стартует онлайн-курс "Python для анализа данных", где вы сможете поднять ваши навыки до аналитика продвинутого уровня.
Уделив 8 недель изучению Python для аналитики, следующие 90% времени вы сможете заниматься генерацией идей по развития бизнеса, а не длительным сбором данных!
Успейте забронировать место на курсе со скидкой 20%
Смело обрабатывайте сотни гигабайт, автоматизируйте отчетность, стройте «дэшборды», решайте повседневные аналитические задачи с помощью Python → https://clc.to/juwjnw
В SkillFactory стартует онлайн-курс "Python для анализа данных", где вы сможете поднять ваши навыки до аналитика продвинутого уровня.
Уделив 8 недель изучению Python для аналитики, следующие 90% времени вы сможете заниматься генерацией идей по развития бизнеса, а не длительным сбором данных!
Успейте забронировать место на курсе со скидкой 20%
Воспроизведение и запись звука в Python
Из данной статьи вы узнаете, как:
1. Воспроизводить файлы MP3 и WAV, а также ряд других аудиоформатов.
2. Воспроизводить массивов NumPy и Python, содержащих звук.
3. Записывать звук с помощью Python.
4. Сохранять свои записи или аудиофайлы в различных форматах.
#статьядня
https://prglb.ru/ulk1
Из данной статьи вы узнаете, как:
1. Воспроизводить файлы MP3 и WAV, а также ряд других аудиоформатов.
2. Воспроизводить массивов NumPy и Python, содержащих звук.
3. Записывать звук с помощью Python.
4. Сохранять свои записи или аудиофайлы в различных форматах.
#статьядня
https://prglb.ru/ulk1
Вы можете добавлять символы Юникода в строковый литерал не только по его номеру, но и по его имени.
#codeexample
>>> '\N{EM DASH}'
'—'
>>> '\u2014'
'—'
Он также совместим с f-строками:
>>> width = 800
>>> f'Width \N{EM DASH} {width}'
'Width — 800'
#codeexample
>>> '\N{EM DASH}'
'—'
>>> '\u2014'
'—'
Он также совместим с f-строками:
>>> width = 800
>>> f'Width \N{EM DASH} {width}'
'Width — 800'
Три способа хранения и доступа к множеству изображений в Python
Из данной статьи вы узнаете о:
- хранении изображения на диске в виде файлов .png
- хранении изображений в базах данных с отображением молниеносной памяти (LMDB)
- хранении изображений в иерархическом формате данных (HDF5)
#статьядня
https://prglb.ru/3h5en
Из данной статьи вы узнаете о:
- хранении изображения на диске в виде файлов .png
- хранении изображений в базах данных с отображением молниеносной памяти (LMDB)
- хранении изображений в иерархическом формате данных (HDF5)
#статьядня
https://prglb.ru/3h5en
Асинхронщина с базами данных: aiopg и другие звери
В данном выпуске aiopg - библиотека для взаимодействия с PostgreSQL при асинхронном программировании на Python, и работа с БД в условиях асинхронщины в целом.
Гость студии — старший разработчик SoftPro, мейнтейнер библиотеки aiopg Алексей Фирсов.
#видеодня
https://prglb.ru/4duid
В данном выпуске aiopg - библиотека для взаимодействия с PostgreSQL при асинхронном программировании на Python, и работа с БД в условиях асинхронщины в целом.
Гость студии — старший разработчик SoftPro, мейнтейнер библиотеки aiopg Алексей Фирсов.
#видеодня
https://prglb.ru/4duid
@pythonbooks - канал с книгами на русском и английском языке для тех, кто хочет стать трушным Python Developer(ом). Скачивайте книги у нас @pythonbooks.