Найти - Пользователи
Полная версия: Как добавить переменные класса из параметров конструкта?
Начало » Python для экспертов » Как добавить переменные класса из параметров конструкта?
1 2
ais
Что бы как то так

class Test:
def __init__(self, x):
AddVariables() #?


test = Test(20)
print test.x
playpauseandstop
def __init__(self, x):
    self.x = x
ais
Думал из поста будет понятно что имеется в виду добавление не руками.
playpauseandstop
class Sample(object):
    def __init__(self, *args, **kwargs):
        self.__dict__.update(kwargs)
s = Sample(x=1, y=2, z=3)
s.x, s.y, s.z
ais
playpauseandstop
class Sample(object):
    def __init__(self, *args, **kwargs):
        self.__dict__.update(kwargs)
s = Sample(x=1, y=2, z=3)
s.x, s.y, s.z
Это тоже не то, тут интерфейс класса задается снаружи.
poltergeist
ais Вы сами понимаете чего хотите?
bialix
__slots__
ais
poltergeist
ais Вы сами понимаете чего хотите?
Определенно.

def __init__(self,a,b,c,d,e):
self.a = a
self.b = b
self.c = c # вот этого я не хочу писать руками.
self.d = d
self.e = e
ais
bialix
__slots__
Из этого примера

class point(object):
__slots__ = ('x', ‘y’)
def __init__(self, x, y):
self.x = x
self.y = y

я не особо вижу как он может помочь.
Александр Кошелев
ais
# вот этого я не хочу писать руками.
Поэтому второй вариант предложенный выше вполне подходит. Там “оно само” делается.

Или чуть иначе:
def __init__(self,a,b,c,d,e):
       self.__dict__.update( locals() )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB