类函数中的集和字典

时间:2016-12-06 18:10:22

标签: python python-3.x class

尝试查找有关如何在类和子类中使用set和dictionaries的一些信息。我有一个作业,指示我们创建一个类Country和一个子类CountryCatalogue。然后,在def __init__函数中创建一个名为cDictionarycatalogue的字典(可以是列表,集合或字典)​​,我决定使用set但可能需要根据您的需要进行更改建议)。我遇到的问题是,当我在cDictionary下初始化catalogueclass CountryCatalogue(Country):时,它告诉我其下没有任何函数(例如,__init__(),{{ 1}},findCountry()等)可以“看到”正在初始化的addCountry(),当我尝试访问这些列表中的catalogue时,会出现“无效变量”错误如果我在catalogue函数中初始化它们会发生同样的事情;其他功能看不到它,但至少__init__正常工作。

不幸的是,这类课很糟糕,我们为python教授了所有独立的重要“主题”,但没有教他们如何一起使用它们。

示例:

__init__

1 个答案:

答案 0 :(得分:0)

channel中的

catalogue = []创建一个局部变量,仅在该方法内部可见,该方法的生命周期在方法返回时结束。取而代之的是__init__(self, ...),然后在您使用它时将其称为self.catalogue = []。这将使self.catalogue成为对象的成员而不是局部变量。