我正在尝试在twitter python api(第653行)中调用“User”类中的方法:https://code.google.com/p/python-twitter/source/browse/twitter.py。 所有方法都需要一个'self'参数,如何将它传递给方法?我读了如何使用'self',但没有想出来。
我用过:
user = twitter.User()
name = user.GetName() #self needs to be passed here
print str(name)
输出“无”。 所以我的问题是如何正确地让自己把它作为一个论点发送。
我是python和twitter api的新手所以非常感谢任何帮助。
答案 0 :(得分:3)
self
已通过;由于user
是User
类的实例,因此以下调用是相同的:
name = user.GetName()
name = User.GetName(user)
self
是隐式的第一个参数,设置为在任何实例方法中调用方法的对象的值。
由于您获得了None
作为输出,这意味着GetName
正在返回None
。如果您在传递参数时遇到问题,那么在调用GetName
时会出现实际错误。也许您需要在致电User
时指定一个名称,以便GetName
能够返回某些内容?
答案 1 :(得分:2)
正如切普纳指出的那样,你的问题并没有通过self
。问题在于您如何实例化用户:您不会传入Twitter ID或任何其他参数,因此User对象永远不会与任何特定用户相关联。因此,user.GetName()
什么都不返回就不足为奇了:没有名字可以得到。你应该在实例化时传入一个id。
不是直接用您不理解的语言阅读图书馆的来源,而是阅读documentation可能会更好。