Python 为什么我的程序返回name错误:name';自我';未定义为错误
我正在尝试获取一个程序,告诉我有多少帖子我喜欢使用InstagramAPI模块。它返回了Python 为什么我的程序返回name错误:name';自我';未定义为错误,python,Python,我正在尝试获取一个程序,告诉我有多少帖子我喜欢使用InstagramAPI模块。它返回了NameError:没有定义名称“self”,我不知道为什么 这是我的代码: from InstagramAPI import InstagramAPI import time, json, re import json import requests import os username = '' password = '' i = InstagramAPI(username, password) i.
NameError:没有定义名称“self”
,我不知道为什么
这是我的代码:
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
表示类的实例。通过使用绑定到名称self
的参数,我们可以访问类的属性和方法
您似乎正在定义一个方法,而没有它应该是方法的类
class something:
def __init__(self, something):
self.something = something
ins = something()
如果不发布完整的回溯,就不可能知道到底发生了什么。我猜你发布的代码并不是你电脑上的样子。它看起来像一个方法定义,但在这里它只是一个普通函数,self
只是一个名为。。。好吧,赛尔夫。从技术上讲,这并没有什么问题,调用该方法可能会导致在解释器尝试执行linetemp=self.getLikedMedia(next_id)
时引发AttributeError
,除非您作为self
传递了某个具有该方法的对象getLikedMedia()
,可能是一个类,您应该调用函数并为其指定参数。self
只是一个名称。@jizhaosama它是一个特殊的名称。@Jacaj先生不,它在任何方面都不特殊,它只是在Python中为方法self
命名第一个参数的惯例。@fisheye所以您不应该使用它,它可能会让人感到困惑。这就是为什么我说这是一个特殊的名字。