如何导入以下功能?

时间:2017-01-07 18:10:04

标签: python-3.x import

您好我有以下字典,包括密钥和频率:

dictFrec = {'22': 21, '25': 9, '47': 21, '1': 22, '28': 20, '21': 12, '10': 136, '12': 106, '17': 20, '19': 39, '33': 89, '31': 40, '48': 52, '30': 37, '37': 18, '41': 114, '36': 49, '42': 30, '7': 22, '8': 29, '18': 22, '4': 18, '14': 49, '38': 16, '34': 37, '6': 11, '2': 19, '44': 16, '35': 69, '26': 52, '39': 30, '27': 16, '40': 24, '0': 31, '3': 21, '32': 71, '5': 17, '23': 27, '24': 36, '20': 26, '46': 19, '11': 28, '29': 50, '13': 19, '9': 101, '49': 44, '15': 23, '43': 17, '45': 37, '16': 72}

为了获得我在类中设计以下函数的5个最低值:

import operator

class getStrange:

    def getStrangeD(my_dict):
        strange=dict(sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)[:5])
        return strange

当我尝试按如下方式导入时出现问题:

from tools import getStrange as G
newA = G.getStrangeD(dictFrec)

我得到了:

Traceback (most recent call last):
  File "parser.py", line 55, in <module>
    newA = G.getStrangeD(dictFrec)
AttributeError: module 'tools.getStrange' has no attribute 'getStrangeD'

所以我想得到关于这方面的支持,我试图让这个函数更干净我的代码,但是我不知道如何导入这个函数以及问题在哪里,感谢支持,

这个新类存储在一个文件中,如下所示:

/tools$ ls
getStrange.py  __pycache__

1 个答案:

答案 0 :(得分:1)

你有两个问题。首先, $(document).on('click', '.box', function() { alert('hello') }); 被写为实例方法,但不包含getStrangeD变量。由于它不使用实例数据,因此您可以将其定义为静态方法。其次,由于它是类的成员,因此在访问它时需要包含类名。

工具/ getStrange.py

self

现在使用它

import operator

class getStrange:

    @staticmethod
    def getStrangeD(my_dict):
        strange=dict(sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)[:5])
        return strange