首页 > 解决方案 > 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)

但显然我错了。我无法在互联网上找到解决此问题的方法。请帮忙。

标签: pythonpython-3.xclassattributesparent-child

解决方案


我会做这样的事情:

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)

使用预定义的值调用父构造函数,并从子构造函数中设置其余部分。


推荐阅读