Python:为什么我会收到“意外的关键字参数”错误?

我正在尝试设置图表。对于初始化,我想要选择是否从节点和边的集合开始。所以我给了他们默认值None。或者我想:

def Graph():
    def __init__(self, nodes=None, edges=None, msg="test"):
        """
        assumes that the node and edge lists are the respective objects
        """
        if nodes == None:
            self.nodes = []
        else:
            self.nodes = nodes
            
        if edges == None:
            self.edges = []
        else:
            self.edges = edges
        
        self.node_names = []
        for node in nodes:
            self.node_names.append(node.get_name())
            
        self.msg = msg

(味精部分是为了用最简单的例子测试代码)

我得到的是:

g = Graph(msg="33")
Traceback (most recent call last):

  File "<ipython-input-29-cc459c9baef3>", line 1, in <module>
    g = Graph(msg="33")

TypeError: Graph() got an unexpected keyword argument 'msg'

有谁能够帮助我?这可能是一件简单得可笑的事情,但我只是没有看到它,我在这里有点生气......

回答

您定义的Graph不是一个类,而是一个常规函数。

替换def Graph():class Graph:


以上是Python:为什么我会收到“意外的关键字参数”错误?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>