0
我正在阅读Zed Shaw的“Learning Python the Hard Way”,并且正在研究练习题38.我遇到了关于函数如何在Python中工作的小节以及我坚持在他的例子,如下图所示:学习Python的难题:练习38(函数如何在Python中工作)
$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits", or "license" for more information.
>>> class Thing(object):
... def test(hi):
... print "hi"
...
>>> a = Thing()
>>> a.test("hello")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: test() takes exactly 1 argument (2 given)
>>>
末读的解释后,捷思锐解释说,Python的改变a.test(“你好”),测试(一,“你好”),并在某个地方有人搞砸了,并没有添加一个论点。
有人会更好地向我解释这个概念吗?我不太明白什么是需要“添加一个论点”。如果有人向我解释这个错误,将不胜感激。谢谢。
供参考:http://sopython.com/wiki/LPTHW_Complaints。你在发布的代码中缺少的东西是当前实例的'self'参数(该方法不需要,它暗示它实际上不应该是一个实例方法)。 – jonrsharpe
事实上,你必须阅读第38章,并且现在才了解函数 - 编程的基本构建块之一 - 应该让你了解为什么不推荐该教程。 –