2013-07-26 11 views
11

Używam Pythona do wywołania metody w jednej klasie, która jest w jednym pliku z metody w innej klasy drugiej plikuFunkcja() wykonuje dokładnie 2 argumenty (3 podano)

Załóżmy mój plik jest abc.py że zawiera

class data : 

     def values_to_insert(a,b): 
       ...... 
       ...... 

inny plik jest def.py

import abc 
class values: 
     data=abc.data() 
     def sendvalues(): 
      a=2 
      b=3 
      data.values(a,b) 

Kiedy uruchamiam ten plik daje błąd: values() takes exactly 2 arguments (3 given)

+3

Prawdopodobnie dlatego, że parametr "self" dla metod Pythona jest bardzo podstawowym problemem. –

+0

ok. Myślałem, że nie jest uzasadnione, ponieważ użytkownik jest bardzo nowy na tej stronie. – rivu

Odpowiedz

18

Jeśli to w klasie, metoda powinna być:

def values_to_insert(self, a, b): 

Można przeczytać o uzasadnieniu tej here.

Powiązane problemy