擅长:python、mysql、java
<p>当我运行您的代码时,它可以正常工作:</p>
<pre><code>def student(sid, name, age):
print(sid, name, '(', age, ')')
student(age=23, name='Choe', sid='2016129020')
# 2016129020 Choe ( 23 )
</code></pre>
<p>是否可能是您无意中在某个地方重新定义了内置打印函数?例如,我可以这样重现您的错误:</p>
<pre><code>def print(x):
pass # do nothing
def student(sid, name, age):
print(sid, name, '(', age, ')')
student(age=23, name='Choe', sid='2016129020')
# TypeError: print() takes 1 positional argument but 5 were given
</code></pre>
<p>如果是这样,您应该重新启动运行时并重新执行代码,小心不要覆盖内置函数。你知道吗</p>