Python-Can';t调用只传递自参数的方法
在Python2.7下 如何处理那些只传递一个参数“自我”的方法 我得到的错误是:Python-Can';t调用只传递自参数的方法,python,Python,在Python2.7下 如何处理那些只传递一个参数“自我”的方法 我得到的错误是: Traceback (most recent call): File "..." ... ... api = twitter.Api(consumer_key=keys()['consumer_key'], TypeError: keys() takes exactly 1 argument (0 given) 欢迎任何想法。您需要调用实例方法keys()是一种方法,您可以对每
Traceback (most recent call):
File "..." ...
...
api = twitter.Api(consumer_key=keys()['consumer_key'],
TypeError: keys() takes exactly 1 argument (0 given)
欢迎任何想法。您需要调用实例方法
keys()
是一种方法,您可以对每个MyTwitterClass
对象调用它,如果您在类中,也可以使用self
调用它
obj = MyTwitterClass()
[...]
api = twitter.Api(consumer_key=obj.keys()['consumer_key'],
consumer_secret=obj.keys()['consumer_secret'],
access_token_key=obj.keys()['access_token_key'],
access_token_secret=obj.keys()['access_token_secret'])
^^^^
note this addition
您需要调用实例方法
keys()
是一种方法,您可以对每个MyTwitterClass
对象调用它,如果您在类中,也可以使用self
调用它
obj = MyTwitterClass()
[...]
api = twitter.Api(consumer_key=obj.keys()['consumer_key'],
consumer_secret=obj.keys()['consumer_secret'],
access_token_key=obj.keys()['access_token_key'],
access_token_secret=obj.keys()['access_token_secret'])
^^^^
note this addition
keys()
是类的一个方法。要自动传递self
参数,必须按以下方式调用它:
c = MyTwitterClass()
keys = c.keys()
因此,我建议您在类中添加一个get\u api()
方法:
class MyTwitterClass(object):
...
def keys(self):
return {
'consumer_key': self.read_settings().get('Keys', 'consumer_key'),
"consumer_secret": self.read_settings().get('Keys', 'consumer_secret'),
"access_token_key": self.read_settings().get('Keys', 'access_token_key'),
"access_token_secret": self.read_settings().get('Keys', 'access_token_secret')
}
def get_api(self):
keys = self.keys() # self refer to the current instance of your class
api = twitter.Api(consumer_key=keys['consumer_key'],
consumer_secret=keys['consumer_secret'],
access_token_key=keys['access_token_key'],
access_token_secret=keys['access_token_secret'])
return api
# Now, you can do :
c = MyTwitterClass()
api = c.get_api()
keys()
是类的一个方法。要自动传递self
参数,必须按以下方式调用它:
c = MyTwitterClass()
keys = c.keys()
因此,我建议您在类中添加一个get\u api()
方法:
class MyTwitterClass(object):
...
def keys(self):
return {
'consumer_key': self.read_settings().get('Keys', 'consumer_key'),
"consumer_secret": self.read_settings().get('Keys', 'consumer_secret'),
"access_token_key": self.read_settings().get('Keys', 'access_token_key'),
"access_token_secret": self.read_settings().get('Keys', 'access_token_secret')
}
def get_api(self):
keys = self.keys() # self refer to the current instance of your class
api = twitter.Api(consumer_key=keys['consumer_key'],
consumer_secret=keys['consumer_secret'],
access_token_key=keys['access_token_key'],
access_token_secret=keys['access_token_secret'])
return api
# Now, you can do :
c = MyTwitterClass()
api = c.get_api()
这是一个实例方法。它需要在一个实例上调用,比如
twitterObject.keys()
,您能验证问题中的缩进是否与实际代码的缩进匹配吗?这是一个实例方法。它需要在一个实例上调用,比如twitterObject.keys()
你能验证你问题中的缩进是否与实际代码的缩进一致吗?这就是答案!谢谢,不客气!如果这个答案对你有帮助,记得接受它;)简单有效+1:)这就是答案!谢谢,不客气!如果这个答案对你有帮助,记得接受它;)简单有效+1:)