class Prime:
one = 'class attr one'
two = 'class attr two'
def __init__(self, arg):
self.two = arg
def get_self(self):
print('self:')
print(f'one = {self.one}')
print(f'two = {self.two}')
print('class only')
Prime.get_self(Prime)
print()
print('create instances')
first = Prime('instance attr first')
second = Prime('instance attr second')
print('class')
Prime.get_self(Prime)
print('first instance')
first.get_self()
print('second instance')
second.get_self()
print()
print('set class attrs')
Prime.one = 'class attr 1'
Prime.two = 'class attr 2'
print('class')
Prime.get_self(Prime)
print('first instance')
first.get_self()
print('second instance')
second.get_self()
Грубо говоря, надо читать документацию, додумывать с учетом нюансов вашей архитектуры и пробовать «на кошечках» и потом на боевом допиливать под его нюансы.
С другой стороны тут подобные вопросы задают часто и если вы не поленитесь, то найдете всё или почти всё. И тогда уже приходите с более конкретным вопросом.