我需要在def __init__
内检索一个变量。代码如下:
class HuffmanCode(object):
def __init__(self, probabilities, digits):
self.probabilities = probabilities
#print (self.probabilities)
self.huffman = huffman_nary_dict(probabilities, digits)
#print (self.huffman)
self.inv_huffman = inverse_dict(self.huffman)
我需要在self.inv_huffman
之外致电class HuffmanCode
。 self.inv_huffman
是一组我需要检索的特定字符的字典。
self.inv_huffman = {'m': '110', 'a': '0', 's': '10', 'y': '111'}
答案 0 :(得分:0)
使用global
几乎总是一个坏主意。
只需访问huffnam_code_instance.inv_huffman
,其中huffnam_code_instance = HuffmanCode(...)
。
这里huffnam_code_instance
是类HuffmanCode
的一个实例。通常使用类来创建实例对象,然后将其用于计算中。参见documentation。
方法中的self
变量(包括__init__
指向该类的实例)。在Python中,实例属性(例如inv_huffman
是公共的,因此在这种情况下,仅使用属性访问是可以的。
NB,仅给定一个类,访问self.inv_huffman
值并不逻辑(而且非常困难),因为它是一个实例属性,而不是类属性。