这个问题在这里已经有答案了:
&引用;“最不惊讶”;和可变默认参数
(31个答案)
(31个答案)
三年前关闭的
不知何故,在下面的节点类中,wordList和adjacencyList变量在节点的所有实例之间共享
>&燃气轮机&燃气轮机;类节点:
... def uuu init uuuu(self,wordList=[],adjacencyList=[]):
... self.wordList=wordList
... self.adjacencyList=adjacencyList
...
&燃气轮机&燃气轮机&燃气轮机;a=节点()
&燃气轮机&燃气轮机&燃气轮机;b=节点()
&燃气轮机&燃气轮机&燃气轮机;a、 附加(“哈哈哈”)
&燃气轮机&燃气轮机&燃气轮机;b、 词表
[“哈哈哈”]
&燃气轮机&燃气轮机&燃气轮机;b、 adjacencyList.append(“hoho”)
&燃气轮机&燃气轮机&燃气轮机;a、 邻接柱状图
[hoho']
是否有任何方法可以继续使用构造函数参数的默认值(本例中为空列表),但使a和b都有自己的wordList和adjacencyList变量
我正在使用python 3.1.2
可变的默认参数通常不能满足您的需要。相反,请尝试以下方法:
类节点:
定义初始化(self,wordList=None,adjacencyList=None):
如果wordList为None:
self.wordList=[]
其他:
self.wordList=wordList
如果“邻接列表”为“无”:
self.adjacencyList=[]
其他:
self.adjacencyList=adjacencyList