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



我正在尝试使用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

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

您似乎在定义一个方法,而没有定义它应该是其方法的类。

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

如果不发布整个回溯,就不可能知道到底发生了什么。我想你发布的代码并不是你电脑上的样子。它看起来像是一个方法定义,但这里它只是一个普通函数,其中self只是一个名为。。。好吧,自我。从技术上讲,这并没有错,当解释器试图执行行temp = self.getLikedMedia(next_id)时,调用该方法可能会引发AttributeError,除非您将某个具有方法getLikedMedia()的对象作为self传递。

最新更新