Да
Да , это безопасно в том смысле, что наихудшее, что может произойти при обращении к неинициализированному локальному элементу, - это исключение NameError поднял.
На самом деле, у вас немного особый случай.Поскольку синтаксический анализатор увидит bar
до того, как на него ссылаются, метод не повысит NameError
, даже если foo
ложно, а значение bar
будет nil
.