如何在 Python 中迭代对象的属性?
我有一个类:
class Twitt:
def __init__(self):
self.usernames = []
self.names = []
self.tweet = []
self.imageurl = []
def twitter_lookup(self, coordinents, radius):
cheese = []
twitter = Twitter(auth=auth)
coordinents = coordinents + "," + radius
print coordinents
query = twitter.search.tweets(q="", geocode=coordinents, rpp=10)
for result in query["statuses"]:
self.usernames.append(result["user"]["screen_name"])
self.names.append(result['user']["name"])
self.tweet.append(h.unescape(result["text"]))
self.imageurl.append(result['user']["profile_image_url_https"])
现在我可以通过以下方式获取我的信息:
k = Twitt()
k.twitter_lookup("51.5033630,-0.1276250", "1mi")
print k.names
我希望能够像这样在 for 循环中迭代属性:
for item in k:
print item.names
最佳答案
更新
对于 python 3,你应该使用 items()
而不是 iteritems()
Python 2
for attr, value in k.__dict__.iteritems():
print attr, value
Python 3
for attr, value in k.__dict__.items():
print(attr, value)
这将打印出来
'names', [a list with names]
'tweet', [a list with tweet]
关于Python遍历对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25150955/