Python遍历对象属性 [英] Python iterating through object attributes
问题描述
如何在Python中迭代对象的属性?
我有一个类:
<$ p $
def __init __(self):
self.usernames = []
self.names = []
self.tweet = ]
self.imageurl = []
$ b $ def twitter_lookup(self,coordinents,radius):
cheese = []
twitter = Twitter(auth = auth)
coordinents = coordinents +,+ radius
打印协调元
query = twitter.search.tweets(q =,geocode = coordinents,rpp = 10)
查询[状态]:
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循环中的属性,如下所示:
<$ p $对于k中的项目:
print item.names
尝试:
for attr,value in k .__ dict __。iteritems():
print attr,value
这将打印
'names',[带名称的列表]
'tweet',[带鸣叫的列表]
UPDATED
对于python 3,应该使用 items()
而不是 iteritems()
How do I iterate over an object's attributes in Python?
I have a class:
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"])
Now I can get my info by doing this:
k = Twitt()
k.twitter_lookup("51.5033630,-0.1276250", "1mi")
print k.names
I want to be able to do is iterate over the attributes in a for loop like so:
for item in k:
print item.names
Try that:
for attr, value in k.__dict__.iteritems():
print attr, value
This will print
'names', [a list with names]
'tweet', [a list with tweet]
UPDATED
For python 3, you should use items()
instead of iteritems()
这篇关于Python遍历对象属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!