Да, они находятся в одной и той же «локальной области», и фактически код, подобный этому, распространен в Python:
if condition:
x = 'something'
else:
x = 'something else'
use(x)
Обратите внимание, что x
не объявляется или не инициализируется перед условием, как, например, в C или Java.
Другими словами, Python не имеет областей действия на уровне блоков. Будьте осторожны с примерами типа
if False:
x = 3
print(x)
, что явно вызовет NameError
исключение.