С этим уродливым переводчиком можно обмануть переводчика if None: var = None
Он не делает ничего, кроме добавления переменной var
в словарь локальных переменных, а не ее инициализации. Интерпретатор сгенерирует исключение UnboundLocalError, если вы попытаетесь впоследствии использовать эту переменную в функции. Это будет работать и для очень древних версий Python. Не простой и не красивый, но не ожидайте многого от питона.