Это несколько академический, но тем не менее.
Синтаксис Python запрещает начинать имя переменной с номера. Но это можно обойти так:
>>> globals()['1a'] = 1
>>> globals()['1a']
1
Аналогично для locals()
.
Означает ли это, что Python фактически позволяет это, просто не очень заметно?
изменить
Мой вопрос не в том, разрешен ли он. Я знаю, что формально не допускается в Python. Вопрос в том, почему я могу обойти его, обратившись непосредственно к globals()
, и нарушает ли он другие правила или рекомендации, может быть, даже иметь хорошую причину/приложение, чтобы это разрешить.