将元组传递到python类方法

2024-10-01 17:32:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我不是一个真正的python人,但是我不得不处理它,仅仅是因为一个书的作者用python发布了他们的代码示例。我得到以下代码的语法错误:

class SimpleGraph:

    def __init__(self):
        self._spo = {}
        self._pos = {}
        self._osp = {}

    def add(self, (sub, pred, obj)):
        """
        Adds a triple to the graph.
        """
        self._addToIndex(self._spo, sub, pred, obj)
        self._addToIndex(self._pos, pred, obj, sub)
        self._addToIndex(self._osp, obj, sub, pred)
...
...

错误: def add(self,(sub,pred,obj)): ^ 语法错误:语法无效

这是python版本问题还是什么问题?我似乎无法以原始形式将元组传递到类方法中。感谢您的建议。顺便说一句,我刚刚下载了Python3.3编译器。在


Tags: 代码posselfaddobj示例def作者
3条回答

是的,这是一个Python版本问题。python3不再允许tuple参数解包语法。请参见http://www.python.org/dev/peps/pep-3113/以获得解释和示例。在

试试这样的方法:

def add(self, myTup):
    """
    Adds a triple to the graph.
    """
    (sub, pred, obj) = myTup
    self._addToIndex(self._spo, sub, pred, obj)
    self._addToIndex(self._pos, pred, obj, sub)
    self._addToIndex(self._osp, obj, sub, pred)

该代码适用于Python2.7,但在版本3.0中不再有效,等等。。。在

相关问题 更多 >

    热门问题