__init__ позволяет изменить объект сразу после создания. Если вы хотите контролировать то, что уже создано, используйте __new__:
#codeexample
from typing import Tuple, Dict
from cached_property import cached_property
class Numbers:
_LOADED: Dict[Tuple[int, ...], 'Numbers'] = {}
def __new__(cls, ints: Tuple[int, ...]):
if ints not in cls._LOADED:
obj = super().__new__(cls)
cls._LOADED[ints] = obj
return cls._LOADED[ints]
def __init__(self, ints: Tuple[int, ...]):
self._ints = ints
@cached_property
def biggest(self):
print('calculating...')
return max(self._ints)
print(Numbers((4, 3, 5)).biggest)
print(Numbers((4, 3, 5)).biggest)
print(Numbers((4, 3, 6)).biggest)
#codeexample
from typing import Tuple, Dict
from cached_property import cached_property
class Numbers:
_LOADED: Dict[Tuple[int, ...], 'Numbers'] = {}
def __new__(cls, ints: Tuple[int, ...]):
if ints not in cls._LOADED:
obj = super().__new__(cls)
cls._LOADED[ints] = obj
return cls._LOADED[ints]
def __init__(self, ints: Tuple[int, ...]):
self._ints = ints
@cached_property
def biggest(self):
print('calculating...')
return max(self._ints)
print(Numbers((4, 3, 5)).biggest)
print(Numbers((4, 3, 5)).biggest)
print(Numbers((4, 3, 6)).biggest)
Каким был ваш любимый пет-проект?
У некоторых из вас наверняка были свои проекты, которые вы писали или пишите сейчас. Если не секрет, о чем они? Что вас вдохновило их сделать? Писали ли вы их вместе с кем-то или в одиночку?
Поделитесь в комментариях: https://proglib.io/p/kakim-byl-vash-lyubimyy-sayd-proekt-podelites-v-kommentariyah-2019-10-30
У некоторых из вас наверняка были свои проекты, которые вы писали или пишите сейчас. Если не секрет, о чем они? Что вас вдохновило их сделать? Писали ли вы их вместе с кем-то или в одиночку?
Поделитесь в комментариях: https://proglib.io/p/kakim-byl-vash-lyubimyy-sayd-proekt-podelites-v-kommentariyah-2019-10-30
Библиотека программиста
Каким был ваш любимый пет-проект? Поделитесь в комментариях
У некоторых из вас наверняка были свои проекты, которые вы писали или пишите сейчас. Если не секрет, о чем они? Что вас вдохновило их сделать? Писали ли вы их вместе с кем-то или в одиночку? Поделитесь в комментариях.
Google's Python Class
Если вы в начале пути и очень хотите погрузиться в мир Python, данный курс поможет вам сделать это быстро и эффективно!
#полезностьдня
https://prglb.ru/3111h
Если вы в начале пути и очень хотите погрузиться в мир Python, данный курс поможет вам сделать это быстро и эффективно!
#полезностьдня
https://prglb.ru/3111h
Вебинар на тему «Как Python разработчику получить работу за границей уже в 2019 году?»
Пройдёт бесплатный вебинар, автор которого расскажет, как он устроился на удалённую работу в США с зарплатой в 9000$ в месяц.
Что ещё можно узнать на вебинаре:
— что и как писать в резюме
— отличия работы в РФ и за рубежом;
— как проходить собеседования;
— как получить большую зарплату: x1.5-x2 к текущей;
— Дмитрий отправит своё собственное резюме.
Регистрация по ссылке: http://bit.ly/2WrNAno
Пройдёт бесплатный вебинар, автор которого расскажет, как он устроился на удалённую работу в США с зарплатой в 9000$ в месяц.
Что ещё можно узнать на вебинаре:
— что и как писать в резюме
— отличия работы в РФ и за рубежом;
— как проходить собеседования;
— как получить большую зарплату: x1.5-x2 к текущей;
— Дмитрий отправит своё собственное резюме.
Регистрация по ссылке: http://bit.ly/2WrNAno
❤1
Самая недооцененная стандартная библиотека Python
В данной статье автор расскажет о трех типах данных модуля collections, с которыми ваша жизнь точно станет проще! Модуль предоставляет «высокопроизводительные типы данных» как альтернативы контейнерам общего назначения dict, list, set и tuple.
#статьядня
https://prglb.ru/1yms7
В данной статье автор расскажет о трех типах данных модуля collections, с которыми ваша жизнь точно станет проще! Модуль предоставляет «высокопроизводительные типы данных» как альтернативы контейнерам общего назначения dict, list, set и tuple.
#статьядня
https://prglb.ru/1yms7
Medium
The Most Undervalued Standard Python Library
Collections for data scientists
Обработка аудио- и видеофайлов с помощью ffmpeg
ffmpeg — набор библиотек с открытым исходным кодом. С его помощью можно легко записывать, конвертировать и передавать аудио- и видеофайлы. ffmpeg используется во многих языках, в том числе и python. На наш взгляд, один из лучших способов работы с аудио и видео.
Тут есть некоторые команды для работы с ffmpeg:
https://kkroening.github.io/ffmpeg-python/
ffmpeg — набор библиотек с открытым исходным кодом. С его помощью можно легко записывать, конвертировать и передавать аудио- и видеофайлы. ffmpeg используется во многих языках, в том числе и python. На наш взгляд, один из лучших способов работы с аудио и видео.
Тут есть некоторые команды для работы с ffmpeg:
https://kkroening.github.io/ffmpeg-python/
Python Unit Test Automation
Автор: Ashwin Pajankar
В настоящем руководстве вы познакомитесь с юнит-тестированием для проектов на языке программирования Python на примере таких библиотек, как doctest, unittest, nose, nose2 и pytest
#книгадня
https://t.me/progbook/3696
Автор: Ashwin Pajankar
В настоящем руководстве вы познакомитесь с юнит-тестированием для проектов на языке программирования Python на примере таких библиотек, как doctest, unittest, nose, nose2 и pytest
#книгадня
https://t.me/progbook/3696
❤1
Несколько хороших страничек в Twitter. Join! :) Полезно для разработчика любого уровня.
Full Stack Python
Обучающие и информационные материалы.
Python Digest
Русскоязычный аккаунт.
Talk Python Podcast
Подкасты о Python на английском языке.
Python Hub
Полезные новости.
Python StackOverflow
Вопросы о Python со StackOverflow.
Raymond Hettinger
Советы для разработчиков.
Full Stack Python
Обучающие и информационные материалы.
Python Digest
Русскоязычный аккаунт.
Talk Python Podcast
Подкасты о Python на английском языке.
Python Hub
Полезные новости.
Python StackOverflow
Вопросы о Python со StackOverflow.
Raymond Hettinger
Советы для разработчиков.
X (formerly Twitter)
Full Stack Python (@fullstackpython) / X
Links to great #Python tutorials. Also creating https://t.co/FdhJOj11NS. Run by @mattmakai 😎
👍1
Python and PyQt: Building a GUI Desktop Calculator
Из данной статьи вы узнаете как создать графический пользовательский интерфейс с Python и PyQt; дадите жизнь вашим приложениям, связав пользовательские события с конкретными действиями; cоздадите полнофункциональное приложение с графическим интерфейсом для решения реальных проблем
#статьядня
https://prglb.ru/zgz
Из данной статьи вы узнаете как создать графический пользовательский интерфейс с Python и PyQt; дадите жизнь вашим приложениям, связав пользовательские события с конкретными действиями; cоздадите полнофункциональное приложение с графическим интерфейсом для решения реальных проблем
#статьядня
https://prglb.ru/zgz
Трюки с итераторами
Создание последовательности чисел (от нуля до десяти с пропусками).
Создание последовательности чисел (от нуля до десяти с пропусками).
>>> range(0,10,2)Суммирование последовательности чисел (вычисление суммы от нуля до десяти с пропусками).
[0, 2, 4, 6, 8]
>>> l = range(0,10,2)Проверка, является ли какой-либо элемент в последовательности истинным (проверка, являются ли какие-либо элементы от нуля до десяти с пропусками четными).
>>> sum(l)
20
>>> any(a % 2==0 for a in range(0,10,2))Проверка правильности всех элементов в последовательности (проверка четности всех элементов от нуля до десяти с пропусками).
True
>>> all(a % 2==0 for a in range(0,10,2))Совокупное суммирование последовательности чисел (вычисление накопленной суммы от нуля до десяти с пропусками).
True
>>> import numpy as np
>>> res = list(np.cumsum(range(0,10,2)))
>>> res
[ 0, 2, 6, 12, 20]
A Free Ebook on Greedy Algorithms, Divide & Conquer, and Dynamic Programming
В данной книге автор расскажет о таких парадигмах алгоритмического проектирования как Greedy, Divide & Conquer (разделяй и властвуй) и динамическое программирование. Что они из себя представляют и как стоит ими пользоваться.
#книгадня
https://prglb.ru/1cugb
В данной книге автор расскажет о таких парадигмах алгоритмического проектирования как Greedy, Divide & Conquer (разделяй и властвуй) и динамическое программирование. Что они из себя представляют и как стоит ими пользоваться.
#книгадня
https://prglb.ru/1cugb
Трендовые 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.