PYTHON - 调用outter函数时出错

时间:2016-11-06 19:42:16

标签: python function arguments

这是我创建我的功能的代码

#----------- Importations et fonctions ----------------
from datetime import date
from pret import Pret
#----------- Déclaration des variables ----------------
debut = None
dates = None
duree = 0
nbr_renouv = 0
compte_a = None
x=0
#----------- Code -----------
debut=date(2000,1,10)
print(debut)
dates = date.today()
duree = 10
nbr_renouv = 2


compte_a=Pret(dates, duree, nbr_renouv)
print(compte_a.calculer_date_retour())

" calculer_date_retour"函数应该给我一个日期来自" date_debut"和" duree_max"从这个程序中得到了谁:

print(compte_a.calculer_date_retour)

但是当我尝试 Traceback (most recent call last): File "Z:Fichier de test.py", line 25, in <module> print(compte_a.calculer_date_retour()) TypeError: calculer_date_retour() takes 0 positional arguments but 1 was given 时,它会给我这样的错误:

{{1}}

基本上它说我给它一个论据,但我不知道我在哪里给他一个

2 个答案:

答案 0 :(得分:0)

class调用函数时,self总是作为默认参数给出,这意味着在定义函数时需要self作为参数

def calculer_date_retour(self):
    debut=self.__date_debut
    debut_a_auj= debut.toordinal()
    date_retour=date.fromordinal(debut_a_auj+self.__duree_max)
    return date_retour

答案 1 :(得分:0)

你需要将self放在类方法的声明中。

def calculer_date_retour(self):

python中的.运算符将对象引入为您调用的方法的第一个参数。

a.b()制作:b(a),这就是您使用self访问媒体资源的方式。

你发送一个参数而没有注意到。