Возможности Python 3, достойные того, чтобы ими пользовались

Все примеры, приведённые в этом материале, написаны с использованием Python 3.7. В описании каждой возможности имеются сведения о минимальной версии Python, необходимой для её применения.

Высокоуровневый язык программирования



import vk_api
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import pymysql.cursors
import requests
def get_connection():
connection = pymysql.connect(host='you_host',
user='you_user',
password='you_password',
db='you_db'
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
return connection
Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej.
Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиотеку с открытым исходным кодом, готовую для использования кем угодно, кто заинтересован в данных EO (Earth Observation — пр. пер.). Все в команде Sinergise ожидали момента перехода от этапа построения необходимых инструментов, к этапу их использования для машинного обучения. Пришло время представить вам серию статей, касающихся классификации покрова земли используя eo-learn


import vk_api
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import pymysql.cursors
import requests
def get_connection():
connection = pymysql.connect(host='you_host',
user='you_user',
password='you_password',
db='you_db'
charset='utf8mb4',
cursorclass=mymysql.cursors.DictCursor)
return connection


Все привыкли считать телеграм надежной и безопасной средой для передачи сообщений любого сорта. Однако, под капотом у него крутится совершенно обычная комбинация а- и симметричного шифрований, а это ведь совсем не интересно. Да и в конце концов, зачем вообще явно доверять свои сообщения третьей стороне?

TL;DR — изобретаем приватный скрытый канал через блокирования пользователями друг друга.
Материал, описанный ниже, является результатом совместной работы с преподавателями ТУ Ильменау в рамках местного курсового проекта (Advanced Research Project). Опыт интересный, но и не лишенный определенных сложностей. Делали мы этот проект (и ещё один) вместе с моей тогда ещё невестой — да, так вот нам повезло и учиться вместе, и поехать на стажировку в Германию. По правде сказать, эту часть работы делала в большей степени именно она, но популяризировать эту тему хочется мне.
Итак, однажды мы назначили встречу, чтобы выбрать тему научной работы...


from collections.abc import Iterable
def traverse(list_or_value, callback):
if isinstance(list_or_value, Iterable):
for item in list_or_value:
traverse(item, callback)
else:
callback(list_or_value)
>>> traverse({"status": "ok"}, print)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in traverse
File "<stdin>", line 4, in traverse
File "<stdin>", line 4, in traverse
[Previous line repeated 989 more times]
File "<stdin>", line 2, in traverse
File "/usr/local/opt/python/libexec/bin/../../Frameworks/Python.framework/Versions/3.7/lib/python3.7/abc.py", line 139, in __instancecheck__
return _abc_instancecheck(cls, instance)
RecursionError: maximum recursion depth exceeded in comparison


В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по нисходящему каналу (Down Link) на основе линейных методов, а именно блоковой диагонализации (Block Diagonalization) канала. Статья имеет внушающее количество цитирований, а также является краеугольной публикацией для одного из заданий экзамена. Поэтому почему бы и не разобрать основы предлагаемого алгоритма?
