【发布时间】:2021-05-15 07:53:35
【问题描述】:
我有这个代码:
class CongressApi:
class apiKeyError(Exception):
pass
class Member:
def __init__(self):
print("self.makeRequest()?") # want to call the makeRequest function in the external class
def __init__(self, apiKey):
self.key = apiKey
def makeRequest(self, req):
ret = requests.get(f"https://api.propublica.org/congress/v1/{req}", headers={"X-API-Key": self.key})
return ret.content
我希望能够从 memeber 类中调用 makeRequest() 函数。这可能吗?
【问题讨论】:
-
你需要一个实例,和往常一样。你为什么要嵌套这个类?
-
Member和CongressAPI之间没有特别的关系;Member的实例无权访问CongressAPI方法。为什么类首先嵌套?这不是在 Python 中像在 Java 中那样的常见习惯用法,因为您可以轻松地在单个模块中定义多个类。 -
你能澄清一下你期望代码做什么吗?
makeRequest是CongressApi的方法;Member不是CongressApi,需要后者的实例才能正确调用其方法。 哪个CongressAPI实例应该新的Member使用来调用makeRequest?
标签: python python-3.x class