在python中不使用self而从同一类函数调用类函数

2024-10-03 02:36:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从python中同一类的另一个方法调用一个方法。你知道吗

由于某些限制,我不能使用self。你知道吗

当我试着跟随的时候。你知道吗

def get_report_by_region(self, report_type, ids, business_unit, region):
    if report_type == "courses":
        request_name = "_get_reports_course_region"
    elif report_type == "certifications":
        request_name = "_get_reports_certificate_region"
    elif report_type == "learning_path":
        request_name = "_get_reports_learning_path_region"
    data = {
        'ids': ids,
        'businessunit': business_unit,
        'regioncode': region}
    result = self.get_individual_report_by_region(data,request_name)
    return result
@staticmethod
@cached_by_signature(time=memcached.MINUTE)
def  get_individual_report_by_region(data,request_name):
    result = MoodleClient.get(request_name, params=data)
    return result

我得到了错误

 result = MoodleClient.get(request_name, params=data)
TypeError: unbound method get() must be called with MoodleClient instance as first argument (got str instance instead)

以上所有方法都是在类中定义的

MoodleClient

Tags: 方法nameselfreportidsdatagetby
1条回答
网友
1楼 · 发布于 2024-10-03 02:36:29

该错误指示get()方法是实例方法。你知道吗

它要么需要与get_individual_report_by_region()一样是静态的,要么需要提供MoodleClient的实例。你知道吗

您必须考虑它是否可以是静态方法—如果您需要一个实例状态,那么就不能使其成为静态的。你知道吗

相关问题 更多 >