尝试查找有关如何在类和子类中使用set和dictionaries的一些信息。我有一个作业,指示我们创建一个类Country
和一个子类CountryCatalogue
。然后,在def __init__
函数中创建一个名为cDictionary
和catalogue
的字典(可以是列表,集合或字典),我决定使用set但可能需要根据您的需要进行更改建议)。我遇到的问题是,当我在cDictionary
下初始化catalogue
和class CountryCatalogue(Country):
时,它告诉我其下没有任何函数(例如,__init__()
,{{ 1}},findCountry()
等)可以“看到”正在初始化的addCountry()
,当我尝试访问这些列表中的catalogue
时,会出现“无效变量”错误如果我在catalogue
函数中初始化它们会发生同样的事情;其他功能看不到它,但至少__init__
正常工作。
不幸的是,这类课很糟糕,我们为python教授了所有独立的重要“主题”,但没有教他们如何一起使用它们。
示例:
__init__
答案 0 :(得分:0)
channel
中的 catalogue = []
创建一个局部变量,仅在该方法内部可见,该方法的生命周期在方法返回时结束。取而代之的是__init__(self, ...)
,然后在您使用它时将其称为self.catalogue = []
。这将使self.catalogue
成为对象的成员而不是局部变量。