You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中调用Python类构造函数报错:An expression must come after '('

问题解决与说明

1. 报错的直接原因

你实例化时类名拼写错误了:把定义好的CircularlyLinkedList写成了CirculralyLinkedList(多了一个r)。VSCode的实时语法检测会立刻识别到这个未定义的名称,所以抛出了“An expression must come after '('”的错误;而IDLE可能因为会话环境的检测延迟,或是你在不同会话里测试,才没触发这个错误。修正拼写后,ls1 = CircularlyLinkedList()就能正常运行。

2. 关于括号后输入内容的说明

你的CircularlyLinkedList类的__init__方法没有定义额外参数(除了默认的self),所以正常实例化时括号里不需要输入任何内容。如果想要在实例化时传入内容来初始化链表,需要修改__init__方法,比如支持传入初始元素集合:

class CircularlyLinkedList:
    def __init__(self, initial_items=None):
        self.tail = None
        self.size = 0
        # 如果传入了初始元素,逐个添加到链表
        if initial_items:
            for item in initial_items:
                # 这里假设你已经实现了add方法用于添加元素
                self.add(item)

修改后,就可以在实例化时传入可迭代对象(比如列表):

ls1 = CircularlyLinkedList([1, 2, 3])

内容的提问来源于stack exchange,提问作者한준혁

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:15:05