python - Python:如何为子类中的属性设置默认值
问题描述
我正在研究 Python,我已经定义了一个 Parent 类,如下所示
class Country:
"""Models countries"""
def __init__(self, name, population, continent, zone):
"""Initiates the Country class"""
self.na = name
self.co = continent
self.zo = zone
self.po = population
我还在这个类中定义了两个方法。我创建了一个名为 Europe_country 的子类,我想在其中将大陆和区域的默认值分别设置为“欧洲”和“温带”。
我试过这样做
class Europe_country(Country):
"""Models European countries specifically"""
co = 'Europe'
zo = 'Temperate'
europe_1 = Europe_country('Abc', 999)
但显然我错了。我无法在互联网上找到解决此问题的方法。请帮忙。
解决方案
我会做这样的事情:
class Country:
"""Models countries"""
def __init__(self, name, population, continent, zone):
"""Initiates the Country class"""
self.na = name
self.co = continent
self.zo = zone
self.po = population
class Europe_country(Country):
"""Models European countries specifically"""
def __init__(self, name, population):
super().__init__(name, population, "Europe", "Temperate")
europe_1 = Europe_country('Abc', 999)
使用预定义的值调用父构造函数,并从子构造函数中设置其余部分。
推荐阅读
- reactjs - 如何在反应js中更新状态
- graphql - Apollo 缓存中缺少字段的查询覆盖
- sql-server - OLTP 服务器中的 SQL 分区切换
- android - 用于 Json 解析数据的搜索视图
- c# - 仅为一列创建 DataGrid 工具提示(每行不同的工具提示)
- python - python cx_Oracle 疯狂元组
- ionic-framework - 如何在 Ionic 中创建可滑动的周时视图日历
- python - 使用 numpy.where 防止越界
- php - 为什么 PHP header(); 为他而不是我工作
- twitter-bootstrap - Is there any solution to move the bootstrap modal close button from the modal header into the modal body?