Program Tip

객체 속성을 반복하는 Python

programtip 2020. 12. 15. 19:45
반응형

객체 속성을 반복하는 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

업데이트 됨

파이썬 3의 경우 items()대신iteritems()

파이썬 2

for attr, value in k.__dict__.iteritems():
        print attr, value

파이썬 3

for attr, value in k.__dict__.items():
        print(attr, value)

이것은 인쇄됩니다

'names', [a list with names]
'tweet', [a list with tweet]

표준 Python 관용구를 사용할 수 있습니다 vars().

for attr, value in vars(k).items():
    print(attr, '=', value)

파이썬에서 객체 속성을 반복합니다.

class C:
    a = 5
    b = [1,2,3]
    def foobar():
        b = "hi"    

for attr, value in C.__dict__.iteritems():
    print "Attribute: " + str(attr or "")
    print "Value: " + str(value or "")

인쇄물:

python test.py
Attribute: a
Value: 5
Attribute: foobar
Value: <function foobar at 0x7fe74f8bfc08>
Attribute: __module__
Value: __main__
Attribute: b
Value: [1, 2, 3]
Attribute: __doc__
Value:

참조 URL : https://stackoverflow.com/questions/25150955/python-iterating-through-object-attributes

반응형