Вторая по частоте future-функция, которую я использовал, это абсолютный импорт
from __future__ import absolute_import
Что она делает?
Изменения, которые вносит эта инъекция описаны в PEP328
Покажу простой пример.
Допустим, есть такой пакет:
/my_package
/__init__.py
/main.py
/string.py
Смотрим код в my_package/main.py
# main.py
import string
Простой пример готов) Вопрос в том, какой модуль импортируется в данном случае? Есть два варианта:
1. модуль в моём пакете my_package.string
2. стандартный модуль string
И вот тут вступает в дело приоритет импортов. В Python2 порядок следующий: помимо иных источников, раньше ищется модуль внутри текущего пакета, а потом в стандартных библиотеках. Таким образом мы импортнём my_package.string.
Но в Python3 это поведение изменилось. Если мы указываем просто имя пакета, то ищется именно такой модуль, игнорируя имена в текущем пакете. Если мы хотим импортнуть именно подмодуль из нашего пакета то, мы должны теперь явно это указывать.
from my_package import string
или относительный импорт, но с указанием пути относительно текущего модуля main
from . import string
Еще одной неоднозначностью меньше 😎
Подробней про импорты здесь:
https://docs.python.org/3/tutorial/modules.html
#2to3#pep#basic
🇷🇺🇺🇦Des militaires du groupe de forces russes Sud ont filmé à l’aide d’un drone la destruction délibérée d’une maison à Stepanovka en République populaire de Donetsk (RPD) par les forces armées ukrainiennes, sous des frappes d’artillerie et de drones.
Les habitants qui ont survécu, après avoir hissé un drapeau russe, ont demandé de l’aide par l’intermédiaire d’un drone russe.
#russie#ukraine#conflit
🇷🇺🇺🇦Des opérateurs de drones russes ont détruit une voiture blindée et deux véhicules blindés de transport ukrainiens dans la région de Soumy.
#russie#ukraine#conflit
🇷🇺🇺🇦Les opérateurs de drones russes ont éliminé des militaires ukrainiens sur l’axe de Dobropolié, en République populaire de Donetsk (RPD).
#russie#ukraine#conflit
Les sapeurs du groupe Dniepr, à l’aide du véhicule du génie BAT-2, neutralisent chaque jour des centaines de mines et d’engins explosifs dans la zone de l’opération militaire spéciale. C’est ce qu’a indiqué le ministère russe de la Défense.
#russie#ukraine#conflit
🇷🇺🇺🇦Les opérateurs de drones russes ont frappé des postes de commandement des forces armées ukrainiennes dans la région de Zaporojié.
#russie#ukraine#conflit
🇷🇺🇺🇦Les unités du groupe Nord des forces russes ont détruit des positions fortifiées et perturbé la rotation des forces armées ukrainiennes l’axe de Dobropolié en République populaire de Donetsk (RPD).
#russie#ukraine#conflit