python-3.x - 如何将父构造函数的功能继承到子构造函数中
问题描述
我编写了一个 NewsApi() 类并创建了它的 Cricket() 子类。下面是代码片段: 类 NewsApi
class NewsApi(object):
def __init__(self, parameter, country):
self.parameter = parameter
self.country = country
self.top_headlines =
newsapi.get_top_headlines(q=self.parameter,country=self.country)
self.description = []
self.url = []
self.image_link = []
self.title = []
self.sources = []
for article in self.top_headlines['articles']:
self.description.append(article['description'])
self.url.append(article['url'])
self.image_link.append(article['urlToImage'])
self.title.append(article['title'])
self.sources.append(article['source']['name'])
所以我想创建一个继承自 NewsApi() 类的板球类。我还想在 Cricket() 类中添加 NewsApi 类的构造函数的特定功能。因为我不想在 Cricket() 类构造函数中再次编写相同的代码。
class CricketNews(NewsApi):
get_every = newsapi.get_everything(q="Cricket",
from_parameter=yesterday_date,
to=today_date,
language='en',
sort_by='relevancy',
page=2)
解决方案
您可以使用 Super 方法来调用超类的方法。
class CricketNews(NewsApi):
def __init__(self, parameter, country):
super(CricketNews, self).__init__(parameter, country)
# your init code.
get_every = newsapi.get_everything(q="Cricket",
from_parameter=yesterday_date,
to=today_date,
language='en',
sort_by='relevancy',
page=2)
推荐阅读
- jenkins - 在 Jenkins 中执行作业时,仅针对特定存储库的 Jfrog 握手问题
- c++ - 如何在 Mac 上设置/更新 cpp
- http - 无法使用上传到 cloudinary 的公共 url 访问 pdf
- powershell - 使用powershell在特定行中写入txt文件
- java - 协调 maven 和 java 之间的 java 版本
- python - 在循环中随机化字符
- python - 单元测试练习的问题,未找到模块
- amazon-web-services - 在terraform中获取元组的第一个元素
- java - spring-boot-configuration-processor 无法为嵌套类生成元数据
- c# - ValidationResult 发送 409 冲突状态码 ASP.NET Core Web Api