我想知道如何将信息[';first#u name';]存储到我的成员类中?我想创建一个要存储的成员对象。这是用Python完成的
我希望将info['first_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
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