Hsin
Hsin

Reputation: 317

What is correct way to store information in python

I want to ask what is correct way to store information in python. Is it ok to store numbers in class (most of them integers) like this? Or some other way is better, more optimized.

class Eclass:
    def __init__(self, name, pre=None, suf=None, t=None, g=None, subg=None, p=0, a=0, m=0, v=0,
                 ast=0, d=0, bd=0, bhc=0, cc=0, bc=0, bhp=0, bmp=0, hpr=0, mr=0, br=0, pr=0,
                 sr=0, fr=0, er=0, ar=0, wr=0, ar=0, dr=0, vr=0, bar=0, lbr=0, lpr=0, lsr=0,
                 lfr=0, ler=0, lar=0, lwr=0, lare=0, ldr=0, lvr=0, lear=0, sl=0, sm=0, mr=0,
                 rr=0, td=0):
        self.name = name
        self.pre = pre
        self.suf = suf
        self.t = t
        self.g = g
        self.subg = subg
        self.oi = name
        self.p = p
        self.a = a
        self.m = m
        self.v = v
        self.ast = ast
        self.d = d
        self.bd = bd
        self.bhc = bhc
        self.cc = cc
        self.bc = bc
        self.bhp = bhp
        self.bmp = bmp
        self.hpr = hpr
        self.mr = mr

        self.br = br
        self.pr = pr
        self.sr = sr
        self.fr = fr
        self.er = er
        self.ar = ar
        self.wr = wr
        self.ar = ar
        self.dr = dr
        self.vr = vr
        self.bar = bar

        self.lbr = lbr
        self.lpr = lpr
        self.lsl = lsr
        self.lfi = lfr
        self.lea = lea
        self.lai = lai
        self.lwa = lwa
        self.lae = lar
        self.ldi = ldr
        self.lvo = lvr
        self.lear = lear

        self.sl = sl
        self.sm = sm

        self.mr = mr
        self.rr = rr
        self.td = td

        self.tags = []

    def add_tags(self, *args):
        for element in args:
            self.tags.append(element)

All of this is used in other functions that work with this class.

Upvotes: 0

Views: 94

Answers (1)

perigon
perigon

Reputation: 2095

A dictionary would be appropriate for this.

dic1 = dict(pre=None, suf=None, t=None, g=None, subg=None, p=0, a=0, m=0, v=0, ast=0)
dic1['lwa'] = 0
dic2 = {'a': 0, 'suf': None, 'pre': None, 'g': None, 'ast': 0, 'm': 0, 'p': 0, 'subg': None, 't': None, 'v': 0, 'lwa': 0}

print (dic1)
print (dic2)
print (dic1['t'])
print (dic2['lwa'])
print (dic1 == dic2)

Output:

{'a': 0, 'suf': None, 'pre': None, 'g': None, 'ast': 0, 'm': 0, 'p': 0, 'subg': None, 't': None, 'v': 0, 'lwa': 0}
{'pre': None, 'ast': 0, 'subg': None, 'a': 0, 'suf': None, 'g': None, 'm': 0, 'p': 0, 't': None, 'v': 0, 'lwa': 0}
None
0
True

Upvotes: 1

Related Questions