我正在为python制作twitch.tv API包装器,当我运行以下代码时,在print (t.getstatus)
它将打印:<bound method twitchchannel.getstatus of <__main__.twitchchannel instance at 0x0198D3A0>>
而不是变量的值。我做错了什么?
import urllib2
import json
class twitchchannel():
def __init__ (self,channel):
self.channel = channel
url = 'https://api.twitch.tv/kraken/channels/' + channel
dict1 = json.loads(urllib2.urlopen(url).read())
self.status = dict1 ['status']
self.display_name = dict1 ['display_name']
self.mature = dict1 ['mature']
self.chanurl = dict1 ['url']
self.created_at = dict1 ['created_at']
self.teams = dict1 ['teams']
self.game = dict1 ['game']
self.updated_at = dict1 ['updated_at']
print dict1
def getstatus(self):
return self.status
t = twitchchannel('ethotv')
print (t.getstatus)
print (t.status) #This works
答案 0 :(得分:0)
您需要调用 t.getstatus()
方法:
print (t.getstatus())
答案 1 :(得分:0)
你应该像函数一样调用函数:)
print (t.getstatus())
答案 2 :(得分:0)
试试print (t.getstatus())
。注意额外的括号。您收到的消息实际上指的是方法getstatus
所在的地址(instance at 0x0198D3A0
)。重要status
的作用是因为它不是一种方法。