2015-06-08 4 views
-2

Мой Python код имеет следующий классPython - Позиция Аргумент отсутствует

class payment_calculations: 
    def __init__(self): 
     self.__interestdatecurrent = str() 
     return None 

    def paymentfixed(self, notional, datecouponstart, datecouponend, interestratecurrent, interestratefixed, datecurrent): 

Когда я называю его

fixedpayment = payment_calculations.paymentfixed(interestnotional, datecoupon1, datecoupon2, c, interestratefixed, interestdatecurrent) 

вижу следующее трассировки стека

File "C:\Python34\mod_payment_calculation.py", line 83, in coupondatesfixed 
    fixedpayment = payment_calculations.paymentfixed(interestnotional,datecoupon1,datecoupon2,c,interestratefixed,interestdatecurrent) 
TypeError: paymentfixed() missing 1 required positional argument: 'datecurrent' 

Я подтверждал это работает при вызове из тестового файла. Однако, когда я бегу изнутри модуля, он терпит неудачу. Есть идеи?

ответ

5

Вам нужно создать экземпляр класса:

pc = payment_calculations() 
fixedpayment = pc.paymentfixed(interestnotional, datecoupon1, datecoupon2, c, interestratefixed, interestdatecurrent) 

иначе вы звоните несвязанный функцию и self аргумент не будет предоставляться автоматически. Вместо этого значение interestnotional переходит в аргумент self, значение datecoupon1 в аргумент notational и т. Д.

+0

Doh! - Я создал этот модуль и класс и т. Д. Из другого файла. – user3503078

+0

Теперь разрешено. благодаря – user3503078

Смежные вопросы