Так что я использую функцию, чтобы перестать копировать код + макароны везде, который имеет то же самое, что и минус сообщения об ошибках, которые я хочу, чтобы исключение отображалось, но я хочу иметь доступ и динамически устанавливать переменные класса для разбора Django.Динамическое присваивание переменным класса
Например: Я знаю, что если вы подаете vars() ['{}'. Format (a_variable)], пока указана переменная, вы можете получить к ней доступ. Но как вы это делаете для случаев? Код ниже не работает, но контуры того, что я хотел бы достичь, если есть ВАР() как функции для экземпляров или случайным образом о/лучший способ сделать это:
class test(object):
max_length = 10
text = 'blah'
name = 'hrrrnngg'
def set_name(self, text):
self.name = self._parse_text(text, 'name')
def set_text(self, text):
self.text = self._parse_text(text, 'text')
def _parse_text(self, data, variable):
# a simple idea, but much exception coding in here, i.e. negatives, ranges e.t.c.
if len(data) + len(vars()['self.{}'.format(variable)]) > self.max_length:
print "You have failed this city"
else:
return "{}, {}".format(vars()['self.{}'.format(variable)], data)
a = test()
print a.text
a.set_text('moo')
print a.text
Спасибо заранее!
Вы ищете [ 'GetAttr (я, переменная)'] (HTTPS: //docs.python.org/2/library/functions.html#getattr)? – jonrsharpe
Ты, сэр, гений. – Trancendence
Я возьму это как да! – jonrsharpe