Python遍历对象属性

标签 python python-2.7 object for-loop

如何在 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/

相关文章:

java - 向下转换被认为是不好的做法吗?

python - django-admin startproject 不能在 OS X 上使用 python3

java - 为什么转换方向在原始类型中从大到小,在对象中从小到大?

javascript - 如何使用 Selenium 滚动谷歌地图搜索显示的结果

linux - 使用 Fabric 运行后台命令(sudo : sorry, 你必须有一个 tty 才能运行 sudo)

python - 在 Python 中编辑输出

python - 当xaxis为timedelta时设置xlim

java - 带有 stub 方法的接口(interface)的默认实现应该是抽象的吗?

python - 类型错误 : can only concatenate str (not "int") to str SUM

python - 使用 Huggingface Trainer 与分布式数据并行