这是我创建我的功能的代码
#----------- 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}}
基本上它说我给它一个论据,但我不知道我在哪里给他一个
答案 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
访问媒体资源的方式。
你发送一个参数而没有注意到。