用python存储信息的正确方法是什么
我想问一下用python存储信息的正确方法是什么。像这样在类中存储数字(大多数是整数)可以吗?或者其他更好、更优化的方法用python存储信息的正确方法是什么,python,database,python-2.7,class,Python,Database,Python 2.7,Class,我想问一下用python存储信息的正确方法是什么。像这样在类中存储数字(大多数是整数)可以吗?或者其他更好、更优化的方法 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
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)
所有这些都用于与此类一起工作的其他函数。字典适用于此
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)
输出:
{'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
您应该使用字典或列表之类的结构。此外,请为属性使用更多描述性名称。这当然会起作用,但可能很难使用-它需要大量的键入,并且很容易出错。查找字典或数据框以了解更复杂的任务。感谢您的两个答案是另一种选择。如果您有很多值,那么与字典相比,内存使用率要低得多。