如何在Python中的def __init__中检索变量

时间:2018-09-13 04:19:40

标签: python variables

我需要在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 HuffmanCodeself.inv_huffman是一组我需要检索的特定字符的字典。

self.inv_huffman = {'m': '110', 'a': '0', 's': '10', 'y': '111'}

1 个答案:

答案 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值并不逻辑(而且非常困难),因为它是一个实例属性,而不是类属性。