为什么我的程序返回NameError:名称'self'未定义为错误

时间:2020-02-23 16:42:46

标签: python

我正在尝试一个程序来告诉我使用InstagramAPI模块喜欢多少帖子。返回NameError: name 'self' is not defined,但我不确定为什么。

这是我的代码:

from InstagramAPI import InstagramAPI
import time, json, re
import json
import requests
import os
username = ''
password = ''

i = InstagramAPI(username, password)

i.login()

def getTotalLikedMedia(self, scan_rate=1):
        next_id = ''
        liked_items = []
        for x in range(0, scan_rate):
            temp = self.getLikedMedia(next_id)
            temp = self.LastJson
            try:
                next_id = temp["next_max_id"]
                for item in temp["items"]:
                    liked_items.append(item)
            except KeyError as e:
                break
        return liked_items

getTotalLikedMedia

2 个答案:

答案 0 :(得分:0)

self代表class的实例。通过使用绑定到名称self的参数,我们可以访问class的属性和方法。

您似乎正在定义一个没有该类的方法的方法。

class something:
   def __init__(self, something):
      self.something = something

ins = something()

答案 1 :(得分:0)

如果不发布整个追溯,就不可能知道真正发生了什么。我猜您发布的代码并不是您计算机上的真正样子。似乎是一个方法定义,但这里只是一个简单的函数,其中self只是一个称为...很好的自变量。从技术上讲,这没有什么不对,调用该方法可能会导致在解释器尝试执行行AttributeError时引发temp = self.getLikedMedia(next_id),除非您以self的身份传递了一些确实具有方法getLikedMedia()