2017-07-16 44 views
0
class myClass(object): 
    def __init__(self, firstVar): 
     ''' 
     Some docstring 
     ''' 
     self.var = firstVar 


    def myProcedure1(self, secondVar): 
     ''' 
     Some docstring1 
     ''' 
     return my_thing 

    def myProcedure(self, secondVar): 
     ''' 
     Some docstring2 
     ''' 

     what_I_Need = myClass.myProcedure1(secondVar) 
     do something with this 
     return something else 

当我打电话myClass_instance.myProcedure(secondVar)我得到一个错误,说:从函数1(x)调用传递相同参数类的函数2(x)?

TypeError: myProcedure1() missing 1 required positional argument: 'secondVar' 

如何传递secondVar,使这项工作?

+0

这是一个相当基本的问题,虽然我找不到现有的答案!你必须构造一个类的实例来调用一个实例方法。 –

+0

那么你的要点是什么?我没有搜索答案,这不是在SO问题!这是否意味着只有像'阁下'这样的'专家'才能就SO提出问题?为什么不让你的知识对别人有用(就像其他人在你是编程中的新手时向你做的那样),而不是扮演全能者。如果你非常好,为什么其他拥有59倍以上名誉的程序员花时间回答。你以为你是一个很好的人,但你只是一点点......。而你的答案仍然是错误的 – EnriN

回答

1

您正在直接调用该方法,即未绑定。这意味着没有传入self,而secondVar被解释为代替self的值。

呼吁self方法

self.myProcedure1(secondVar) 

self这里只是另一个参考实例,就像myClass_instance是当你在那个对象上调用myProceduce(...)