首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python2.7-如果我试图在类中创建静态方法,DocTest会失败

Python2.7-如果我试图在类中创建静态方法,DocTest会失败
EN

Stack Overflow用户
提问于 2014-08-21 22:44:07
回答 1查看 214关注 0票数 2

我对这门语言非常陌生,在使用一个名为LatencyList的类时遇到了一些问题

完整的代码可以在这里找到:http://pastebin.com/b5bemMsW

在这个类中,我有两个方法,它们不需要引用对象(self),但是我不能删除"self“参数而不使DocTest失败:

代码语言:javascript
复制
def crop_latencies(self, lat_list):
    """
    Return "lat_list" with only latencies (exclude all None(s) that mean PacketLoss)
    """
    cropped_list = []
    for latency in lat_list:
        if latency is not None:
            cropped_list.append(latency)
    return cropped_list

def count_packetlost(self, lat_list):
    """
    Return None(packetloss) counts in "lat_list"
    """
    counter = 0
    for latency in lat_list:
        if latency is None:
            counter += 1
    return counter

在这里,如果我尝试删除“DocTest”参数,则在自我期间会出现错误:http://pastebin.com/mm8YgRSM

我做错了什么?

编辑:解决方案在像moep建议的方法之前添加@staticmethod

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-08-21 22:53:54

试着在你的函数声明前面使用@staticmethod

代码语言:javascript
复制
class A:
    def a_method(self):
        pass

    @staticmethod
    def a_static_method():
        pass

请访问LINK了解更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25429335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档