python调用类下的方法报错

Python写了下面的代码:classHuman:
defsay(tell,text):
print'@%s%s'%(tell,text)
p=Human()
p.say('Paul','hello')运行后报错,提示:Traceback(mostrecentcalllast):
File"Untitled.py",line6,in
p.say('Paul','hello')
TypeError:say()takesexactly2arguments(3given)可是我的say()只有两个参数啊
郎朗坤
浏览 949回答 2
2回答

有只小跳蛙

具体的,@蓝皮鼠已经说的很清楚了!我想补充一下,self参数其实就是实例本身。python为每一个非静态方法绑定到相应的实例中,但是self并不是python的关键字所以,你可以将self替换为任何合法的名字。classHuman:defsay(Tedd,tell,text):print'@%s%s'%(tell,text)p=Human()p.say('Paul','hello')所以,其实上面的self参数就是实例本身就有点不妥了,我觉得应该这样说:非静态方法的第一个参数是实例本身。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript