Python遍历对象属性 [英] Python iterating through object attributes

查看:102
本文介绍了Python遍历对象属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆