如何查看python方法的参数(和类型)?

时间:2010-10-29 08:10:03

标签: python class function twitter methods

$ py twitterDump2.py 
Traceback (most recent call last):
  File "twitterDump2.py", line 30, in <module>
    stream=tweepy.Stream(username,password,listener)
TypeError: __init__() takes exactly 3 arguments (4 given)

我的代码:

username="abc"
password="abc"
listener = StreamWatcherListener()
stream=tweepy.Stream(username,password,listener)

2 个答案:

答案 0 :(得分:2)

__init__的第一个参数通常是self,所以它期望你只传递两个参数。

令人惊讶的是tweepy.streaming.py代码表明:

class Stream(object):

    host = 'stream.twitter.com'

    def __init__(self, auth, listener, **options):
        self.auth = auth
        self.listener = listener

以这种方式创建auth:

auth = tweepy.BasicAuthHandler(username, password)

您的代码应该是这样的

username="abc"
password="abc"
listener = StreamWatcherListener()
auth = tweepy.BasicAuthHandler(username, password)
stream=tweepy.Stream(auth,listener)

请参阅以下代码:http://github.com/joshthecoder/tweepy/blob/master/tweepy/streaming.py

答案 1 :(得分:2)

pyfunc给出了为什么这不起作用的原因。

要查看哪些参数,请键入:

help(tweepy.Stream)

这将为您提供Stream类所需的参数。

这是供您参考:

def __init__(self, auth, listener, **options)

options使用一个字典,用**运算符传递关键字参数。