我一直在研究tweepy的源代码,试图了解所有东西是如何设计的。我对API
类和bind_api
函数有点困惑。tweepy源可以在这里找到:https://github.com/tweepy/tweepy
1)为什么几乎每个api调用都是属性?这实际上在做什么?它能带来什么好处?在
2)如何bind_api
将参数输入到每个api调用中?例如
@property
def get_status(self):
""" :reference: https://dev.twitter.com/rest/reference/get/statuses/show/%3Aid
:allowed_param:'id'
"""
return bind_api(
api=self,
path='/statuses/show.json',
payload_type='status',
allowed_param=['id']
)
get_status
在其定义中没有参数,但调用api.get_状态(id='123')工作正常。我很好奇这里发生了什么。我想这和我的第一个问题有关。在
3)遵循tweepy与bind_api
一起使用的相同格式,如何获得馈送给api调用的关键字参数?例如,如果我想在没有id='value'
关键字提供给get_status
时只打印“noid supplied”,我该怎么做?在
谢谢你的帮助。希望我足够清楚。在
前几天我问这个问题的时候,我没有想过。在
bind_api
正在返回一个函数。然后在调用该属性时调用该函数。这就是为什么每个api调用都是@property
,它也回答了我的第二个问题。在相关问题 更多 >
编程相关推荐