В теле класса имя класса еще не определено, поэтому оно недоступно. Вы не можете просто ввести имя класса? Возможно, вам нужно подробнее рассказать о проблеме, чтобы мы смогли найти для вас решение.
Я бы создал метакласс, чтобы делать эту работу за вас. Он вызывается во время создания класса (концептуально в самом конце class: block) и может управлять создаваемым классом. Я не тестировал это:
class InputAssigningMetaclass(type):
def __new__(cls, name, bases, attrs):
cls.input = get_input(name)
return super(MyType, cls).__new__(cls, name, bases, newattrs)
class MyBaseFoo(object):
__metaclass__ = InputAssigningMetaclass
class foo(MyBaseFoo):
# etc, no need to create 'input'
class foo2(MyBaseFoo):
# etc, no need to create 'input'