List comprehensions may contain more than one
Also, any expression with
You can mix
for
and if
clauses:In : [(x, y) for x in range(3) for y in range(3)]
Out: [
(0, 0), (0, 1), (0, 2),
(1, 0), (1, 1), (1, 2),
(2, 0), (2, 1), (2, 2)
]
In : [
(x, y)
for x in range(3)
for y in range(3)
if x != 0
if y != 0
]
Out: [(1, 1), (1, 2), (2, 1), (2, 2)]
Also, any expression with
for
and if
may use all the variables that are defined before:In : [
(x, y)
for x in range(3)
for y in range(x + 2)
if x != y
]
Out: [
(0, 1),
(1, 0), (1, 2),
(2, 0), (2, 1), (2, 3)
]
You can mix
if
s and for
s however you want:In : [
(x, y)
for x in range(5)
if x % 2
for y in range(x + 2)
if x != y
]
Out: [
(1, 0), (1, 2),
(3, 0), (3, 1), (3, 2), (3, 4)
]
👍10
Forwarded from Реальный Python
Анализ цены биткоина на Python с помощью fbprophet
https://dev-gang.ru/article/analiz-ceny-bitkoina-na-python-s-pomosczu-fbprophet-ctyf393x6w/
👉 @python_real
https://dev-gang.ru/article/analiz-ceny-bitkoina-na-python-s-pomosczu-fbprophet-ctyf393x6w/
👉 @python_real
👍3
Изучаем Python: поиск в списке
В этой статье мы рассмотрим три способа получения уникальных значений из списка Python.
1. Set()
2. Python list.append() и цикл for
3. Метод numpy.unique() для создания списка с уникальными элементами
@BookPython
В этой статье мы рассмотрим три способа получения уникальных значений из списка Python.
1. Set()
2. Python list.append() и цикл for
3. Метод numpy.unique() для создания списка с уникальными элементами
@BookPython
👍3
Forwarded from BigData
Towards Ultra-Resolution Neural Style Transfer via Thumbnail Instance Normalization
Github: https://github.com/czczup/URST
Paper: https://arxiv.org/abs/2103.11784
Dataset: https://cocodataset.org/#download
👉 @bigdata_1
Github: https://github.com/czczup/URST
Paper: https://arxiv.org/abs/2103.11784
Dataset: https://cocodataset.org/#download
👉 @bigdata_1
👍1👎1🔥1
Python supports the new
To make your objects support this operator, you should define one of the following methods:
You can learn more from PEP 465.
@
operator since Python 3.5. It's intended to use for matrix multiplication. However, none of the standard objects support it; it was introduced specifically for the numpy
module.To make your objects support this operator, you should define one of the following methods:
__matmul__
, __rmatmul__
or __imatmul__
.You can learn more from PEP 465.
👍1
if 'port' not in config:
config['port'] = 80
port = config['port']
Setting default values to dictionaries can be done more elegant:
config = config.setdefault('port', 80)
setdefault
sets the new value unless some value is already set. It also returns the new stored value whether it was changed or not:In : config = {}
In : config.setdefault('port', 80)
Out: 80
In : config.setdefault('port', 443)
Out: 80
👍4
Forwarded from Python академия
Регулярные выражения (REGEX)
Регулярные выражения — более гибкий способ нахождения подстрок в строках. В Python есть встроенный модуль, позволяющий работать с регулярными выражениями, — re. Модуль re содержит функцию
Если вам нужны сложные сопоставления, например, учет регистра — этот метод подойдет вам лучше всего. Но у него есть и недостатки: сложность и скорость работы. То есть, в простеньких задачах его лучше не использовать.
Подписывайтесь на канал 👉@pythonofff
Регулярные выражения — более гибкий способ нахождения подстрок в строках. В Python есть встроенный модуль, позволяющий работать с регулярными выражениями, — re. Модуль re содержит функцию
search
, которая позволит вам найти подстрокуЕсли вам нужны сложные сопоставления, например, учет регистра — этот метод подойдет вам лучше всего. Но у него есть и недостатки: сложность и скорость работы. То есть, в простеньких задачах его лучше не использовать.
Подписывайтесь на канал 👉@pythonofff
👍4
Подборка каналов для IT специалистов 🎯
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Excel лайфхак📌
https://t.me/Excel_lifehack
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/java_360 Книги по Java Rus
https://t.me/python_360 Книги по Python Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Excel лайфхак📌
https://t.me/Excel_lifehack
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/java_360 Книги по Java Rus
https://t.me/python_360 Книги по Python Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
Forwarded from Реальный Python
Creating PDF Invoices in Python with pText
https://stackabuse.com/creating-pdf-invoices-in-python-with-ptext/
👉 @python_real
https://stackabuse.com/creating-pdf-invoices-in-python-with-ptext/
👉 @python_real
👍3
Python allows you to dynamically change a class of an already created object. It's simple as that:
Though it's probably a bad idea to use such tricks as part of your regular architecture, it can be extremely useful during debugging. Here is how you can track all attribute accesses of an object without modifying its original code:
obj.__class__ = AnyClass
Though it's probably a bad idea to use such tricks as part of your regular architecture, it can be extremely useful during debugging. Here is how you can track all attribute accesses of an object without modifying its original code:
class User:
def __init__(self, name):
self._name = name
def to_str(self):
return '<{}>'.format(self._name)
class LoggedUser(User):
def __getattribute__(self, attr):
print('`{}` accessed'.format(attr))
return super().__getattribute__(attr)
u = User('lol')
u.__class__ = LoggedUser
print(u.to_str())
Хочешь узнать как построить успешную карьеру в IT, не натолкнувшись на «подводные камни» и забрать бесплатный подарок?
Тогда подключайтесь на бесплатную онлайн-трансляцию, где опытный и начинающий IT-специалисты будут отвечать на вопросы о своей работе, а зрители — определять, чье мнение интереснее.
На трансляции вы узнаете:
— В чём реальные плюсы и минусы карьеры в IT?
— Что ждёт людей, которые собираются переходить в IT?
— Что самое сложное в работе начинающего и опытного IT-специалиста?
— Как быть и оставаться востребованным?
— Где лучше актуализировать свои знания?
— Какие тренды сейчас главные в сфере?
Также вы сможете оставить свои вопросы — на самые интересные из них гости ответят в прямом эфире!
Не упусти возможности погрузиться в сферу IT, регистрируйся на трансляцию и забирай подарки от ЛитРес: https://clck.ru/hcfUu
Тогда подключайтесь на бесплатную онлайн-трансляцию, где опытный и начинающий IT-специалисты будут отвечать на вопросы о своей работе, а зрители — определять, чье мнение интереснее.
На трансляции вы узнаете:
— В чём реальные плюсы и минусы карьеры в IT?
— Что ждёт людей, которые собираются переходить в IT?
— Что самое сложное в работе начинающего и опытного IT-специалиста?
— Как быть и оставаться востребованным?
— Где лучше актуализировать свои знания?
— Какие тренды сейчас главные в сфере?
Также вы сможете оставить свои вопросы — на самые интересные из них гости ответят в прямом эфире!
Не упусти возможности погрузиться в сферу IT, регистрируйся на трансляцию и забирай подарки от ЛитРес: https://clck.ru/hcfUu
👍3
There are two built-in functions that let you analyze iterables without writing trivial and redundant
Both functions are usually useful while used together with list comprehensions:
if
s. These are all
and any
.any
returns True
if some of the values are true; all
returns True
if all of them are. all
returns True
for an empty iterable while any
returns False
in that case.Both functions are usually useful while used together with list comprehensions:
package_broken = any(
part.is_broken() for part package.get_parts()
)
package_ok = all(
part.ok() for part package.get_parts()
)
any
and all
are usually interchangeable thanks to De Morgan's laws. Choose one that is easier to understand.👍3
Python: объединение списков или конкатенация
В этой статье мы рассмотрим различные методы конкатенации списков в Python. Списки в Python служат для хранения элементов одного типа и выполнения операций над ними.
Конкатенация – это процесс объединения элементов одной структуры данных. Способы конкатенации списков в Python ниже.
@BookPython
В этой статье мы рассмотрим различные методы конкатенации списков в Python. Списки в Python служат для хранения элементов одного типа и выполнения операций над ними.
Конкатенация – это процесс объединения элементов одной структуры данных. Способы конкатенации списков в Python ниже.
@BookPython
👍2
Страшные истории о релокации 🙀
Про тех, кто не относился серьёзно к вопросам интеллектуальной собственности
Про разработчика, который не знал
Разработчик переехал из России в Европу, но не узнал, как распределяются права на служебные разработки в этой стране. Разместил написанный на работе код на гитхабе, потому что уж очень он хорош, после чего получил от работодателя иск на круглую сумму и проиграл его в суде 🤡
Про компанию, которая не подумала
Предприниматель перевёз компанию из Росси в Европу, а все права на софт и бренд забыл на Родине. Через несколько лет к нему пришли инвесторы и хотели дать денег, но… не дали. Не смог подтвердить наличие прав 🤡
Хотите больше страшных историй и рецептов, как защититься от них?
🗓 26 мая (четверг), 19:00 мск
📍 Телеграм-канал RelocationDEV
💬 Митап о релокации интеллектуальной собственности. Будет полезен и разработчикам, и предпринимателям.
👨⚖️ Спикер — Антон Ендресяк, старший IP/IT юрист в CLAIMS, соведущий подкаста «Копикаст», ведёт проекты для Gaijin, Accenture, CarX technologies, Heineken, Gazprom.
____
❓Интересна вам эта тема? Ставьте большой палец вверх или вниз.
Про тех, кто не относился серьёзно к вопросам интеллектуальной собственности
Про разработчика, который не знал
Разработчик переехал из России в Европу, но не узнал, как распределяются права на служебные разработки в этой стране. Разместил написанный на работе код на гитхабе, потому что уж очень он хорош, после чего получил от работодателя иск на круглую сумму и проиграл его в суде 🤡
Про компанию, которая не подумала
Предприниматель перевёз компанию из Росси в Европу, а все права на софт и бренд забыл на Родине. Через несколько лет к нему пришли инвесторы и хотели дать денег, но… не дали. Не смог подтвердить наличие прав 🤡
Хотите больше страшных историй и рецептов, как защититься от них?
🗓 26 мая (четверг), 19:00 мск
📍 Телеграм-канал RelocationDEV
💬 Митап о релокации интеллектуальной собственности. Будет полезен и разработчикам, и предпринимателям.
👨⚖️ Спикер — Антон Ендресяк, старший IP/IT юрист в CLAIMS, соведущий подкаста «Копикаст», ведёт проекты для Gaijin, Accenture, CarX technologies, Heineken, Gazprom.
____
❓Интересна вам эта тема? Ставьте большой палец вверх или вниз.
👍2
Forwarded from Python академия
Облегчите перебор нескольких списков с помощью zip()
С помощью встроенной функции
Обратите внимание: функция zip() возвращает zip-объект, но с помощью приведения типов вы можете преобразовать его — например, с помощью
Подписывайтесь на канал 👉@pythonofff
С помощью встроенной функции
zip()
мы можем все немного упростить.Обратите внимание: функция zip() возвращает zip-объект, но с помощью приведения типов вы можете преобразовать его — например, с помощью
list()
, tuple()
или dict()
.Подписывайтесь на канал 👉@pythonofff
👍4
Two things in Python can be confused: iterables and iterators.
Iterables are objects that can be iterated, i. e. there is a way to extract some values from that object, one by one, probably infinitely. Iterables are usually some collections like arrays, sets, lists, etc.
There are two ways an object can become a proper iterable. The first one is to have
The second way is to define
Usually, an iterator also has an
Iterables are objects that can be iterated, i. e. there is a way to extract some values from that object, one by one, probably infinitely. Iterables are usually some collections like arrays, sets, lists, etc.
There are two ways an object can become a proper iterable. The first one is to have
__getitem__
method:In : class Iterable:
...: def __getitem__(self, i):
...: if i > 10:
...: raise IndexError
...: return i
...:
In : list(Iterable())
Out: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
The second way is to define
__iter__
method that returns an iterator. An iterator is an object with a __next__
method that returns next value from the original iterable once called:In : class Iterator:
...: def __init__(self):
...: self._i = 0
...:
...: def __next__(self):
...: i = self._i
...: if i > 10:
...: raise StopIteration
...: self._i += 1
...: return i
...:
...: class Iterable:
...: def __iter__(self):
...: return Iterator()
...:
...:
In : list(Iterable())
Out: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Usually, an iterator also has an
__iter__
method that just returns self
: it allows iterator to be iterated too, that means that most of the iterators are also iterables.👍6
Forwarded from Реальный Python
Написание быстрых асинхронных HTTP-Запросов с Python
https://uproger.com/napisanie-bystryh-asinhronnyh-http-zaprosov-s-python/
👉 @python_real
https://uproger.com/napisanie-bystryh-asinhronnyh-http-zaprosov-s-python/
👉 @python_real
Forwarded from Книги по Python | Books Python 📚
Обработка естественного языка в действии
Хобсон Лейн, Ханнес Хапке, Коул Ховард (2020)
Последние достижения в области глубокого обучения позволяют создавать приложения, с исключительной точностью распознающие текст и речь. Что в результате? Появляются чат-боты, ведущие диалог не хуже реальных людей, программы, эффективно подбирающие резюме под заданную вакансию, развивается превосходный предиктивный поиск, автоматически генерируются аннотации документов. Благодаря новым приемам и инструментам, таким как Keras и Tensorflow, сегодня возможно как никогда просто реализовать качественную обработку естественного языка (NLP).
«Обработка естественного языка в действии» станет вашим руководством по созданию программ, способных распознавать и интерпретировать человеческий язык. В издании рассказано, как с помощью готовых пакетов на языке Python извлекать из текста смыслы и адекватно ими распоряжаться. В книге дается расширенная трактовка традиционных методов NLP
Скачать
👉 @python_360
Хобсон Лейн, Ханнес Хапке, Коул Ховард (2020)
Последние достижения в области глубокого обучения позволяют создавать приложения, с исключительной точностью распознающие текст и речь. Что в результате? Появляются чат-боты, ведущие диалог не хуже реальных людей, программы, эффективно подбирающие резюме под заданную вакансию, развивается превосходный предиктивный поиск, автоматически генерируются аннотации документов. Благодаря новым приемам и инструментам, таким как Keras и Tensorflow, сегодня возможно как никогда просто реализовать качественную обработку естественного языка (NLP).
«Обработка естественного языка в действии» станет вашим руководством по созданию программ, способных распознавать и интерпретировать человеческий язык. В издании рассказано, как с помощью готовых пакетов на языке Python извлекать из текста смыслы и адекватно ими распоряжаться. В книге дается расширенная трактовка традиционных методов NLP
Скачать
👉 @python_360
👍4🔥1
In Python, each value has a boolean value. It is implicitly cast when you use
False objects are
You can also define custom truth value testing for your objects, the
Mind, that
if
, bool
, not
etc.False objects are
None
, False
, 0
of any type, and empty collections: ""
, []
, {}
etc., including custom collections with the __len__
method as long as __len__
returns 0
.You can also define custom truth value testing for your objects, the
__bool__
magic method is there for this:class Rectangle:
def __init__(self, width, height):
self._w = width
self._h = height
def __bool__(self):
return bool(self._w and self._h)
In : bool(Rectangle(2, 3))
Out: True
In : bool(Rectangle(2, 0))
Out: False
In : bool(Rectangle(0, 2))
Out: False
Mind, that
__bool__
is called __nonzero__
in Python 2.👍6
One of the most inconsistent part of the Python syntax is tuple literals.
Basically, to create a tuple you just write values separated by commas:
What about empty tuple? Is it a bare
To make things more obscure, tuple literals often require additional parentheses. If you want a tuple to be the only argument of a function, that
Basically, to create a tuple you just write values separated by commas:
1, 2, 3
. OK, so far, so good. What about tuple containing only one element? You just add trailing comma to the only value: 1,
. Well, that’s somewhat ugly and error prone, but makes sense.What about empty tuple? Is it a bare
,
? No, it’s ()
. Do parentheses create tuple as well as commas? No, they don’t, (4)
is not a tuple, it’s just 4
.In : a = [
...: (1, 2, 3),
...: (1, 2),
...: (1),
...: (),
...: ]
In : [type(x) for x in a]
Out: [tuple, tuple, int, tuple]
To make things more obscure, tuple literals often require additional parentheses. If you want a tuple to be the only argument of a function, that
f(1, 2, 3)
doesn’t work for an obvious reason, you need f((1, 2, 3))
instead.👍2