Python中函数找到的额外参数

时间:2016-06-27 05:06:30

标签: python

我正在尝试以下代码:

class myclass: 
    def mymethod(a, L):    
        L.append(a)
        print "Sent number=%d" % a
        print "List=", L

mc = myclass()
Li = []
mc.mymethod(4, Li)
mc.mymethod(5, Li)

然而,Python发现正在发送3个参数:

$ python testpy.py 
Traceback (most recent call last):
  File "testpy.py", line 10, in <module>
    mc.mymethod(4, Li)
TypeError: mymethod() takes exactly 2 arguments (3 given)

错误在哪里,我该如何解决?感谢。

编辑:

将代码更改为:

class myclass: 
    def mymethod(test, a, L):  
        L.append(a)
        print "sent number=%d" % a
        print "list=", L
        print test
mc = myclass()
Li = []
mc.mymethod(4, Li)
mc.mymethod(5, Li)

我明白了:

sent number=4
list= [4]
<__main__.myclass instance at 0xb722a88c>
sent number=5
list= [4, 5]
<__main__.myclass instance at 0xb722a88c>

1 个答案:

答案 0 :(得分:1)

您忘记在类函数中使用self参数。正确的代码是:

$(document).ready(function(){  
    $("#loginlink").click(function(){
        $('.container .col-sm-6 ul li .dropdown-menu').first().toggle(
            function() {
                setTimeout(function(){
                    $('.container .col-sm-6 ul li').first().addClass("open").fadeIn('fast');
                });
            }
        );
        if(("#loginformstarthere").length){ 
            $(".container .col-sm-6 ul li .dropdown-menu").first().append( "hello");
    }

});