我想知道如何将信息[';first#u name';]存储到我的成员类中?我想创建一个要存储的成员对象。这是用Python完成的

我想知道如何将信息[';first#u name';]存储到我的成员类中?我想创建一个要存储的成员对象。这是用Python完成的,python,Python,我希望将info['first_name']中的信息存储到成员类对象中。但是我不知道如何编写它。首先,我认为您绝对应该去阅读Python中的类: 这个问题不清楚,但我认为这意味着您希望查询返回的每个成员都有一个“成员”对象 def get(url, key): headers = {"X-API-KEY": key} url = "https://api.propublica.org/congress/v1" + url pri

我希望将info['first_name']中的信息存储到成员类对象中。但是我不知道如何编写它。

首先,我认为您绝对应该去阅读Python中的类:

这个问题不清楚,但我认为这意味着您希望查询返回的每个成员都有一个“成员”对象

def get(url, key):
    headers = {"X-API-KEY": key}
    url = "https://api.propublica.org/congress/v1" + url
    print(f"Querying {url}...")
    data = requests.get(url, headers=headers).json()
    return data['results']


class Member:

    def __init__(self, **kwargs):
        pass

if __name__ == "__main__":
    api_key = "gCAMVXFNdpPvO0tCX2vEAc8Cyjh8qldeXrUInp0U"
    mem = get(f'/111/senate/members.json', api_key)
    for info in mem[0]['members']:
        print(info['first_name'])
输出应为:

# Let's start with some fake info rather than relying on your
# function to access remote data
fakeinfo = [{'members':[
    {'first_name':'John','last_name':'Lennon'},
    {'first_name':'Paul','last_name':'McCartney'},
    {'first_name':'George','last_name':'Harrison'},
    {'first_name':'Ringo','last_name':'Starr'}
    ]}]


# **kwargs means that the function can accept an unspecified
# number of arguments with keywords, i.e., 
#   Member(first_name="John")
#   -or-
#   Member(first_name="John", last_name="Lennon")
# You could loop through **kwargs and create the variables
# based on key=value pairs but let's keep it simple for demo purposes
class Member:
    def __init__(self,**kwargs):
        # Assigning a value to self.first_name creates the
        # variable at the class level, so it can be accessed
        # later either within the class or from the outside
        self.first_name = kwargs["first_name"]
        self.last_name = kwargs["last_name"]

if __name__ == "__main__":
    # Create a list to hold our member objects
    memberlist = [] 
    
    # We're not using the api key or the 'get' function for this example
    #api_key = "gCAMVXFNdpPvO0tCX2vEAc8Cyjh8qldeXrUInp0U"
    #mem = get(f'/111/senate/members.json', api_key)
    
    # Use our fake info for testing
    mem = fakeinfo

    # Loop through our list of members
    for info in mem[0]['members']:
        # Create a new Member object and pass it the required data
        newMember = Member(first_name=info['first_name'], last_name=info["last_name"])

        # Add the new Member object to memberlist
        memberlist.append(newMember)
  
    # To check the output, loop through memberlist and print out the 
    # data we recovered
    for memberentry in memberlist:
        print(f"First Name: {memberentry.first_name}; Last Name: {memberentry.last_name}")

在这一点上,它不是一个非常有用的类,我想您可能需要阅读函数和数组(我认为数组类型“dictionary”和“list”会有很多用处)来开始更多地使用它


另外,请注意**kwargs基本上是一本字典。如果您已经在处理一个字典(例如本例中的“info”),并且很乐意为类提供整个数据集,那么您可以将“info”作为变量传递,而不是在创建对象时将其分解为key=value对。

您能更具体地说明问题是什么吗?您熟悉Python的基础知识吗?
First Name: John; Last Name: Lennon
First Name: Paul; Last Name: McCartney
First Name: George; Last Name: Harrison
First Name: Ringo; Last Name: Starr