[python]クラス内で再帰関数を使うとNoneが意図せず帰ってくる
ソースコード
python3
1class Hoge: 2 __var = [] 3 __var2 = [] 4 5 def __init__(self, var): 6 self.__var = var 7 self.__var2 = var + 3 8 9 def add(self): 10 self.__var += 1 11 return self.__var 12 13 def EqualCheck(self): 14 if self.__var == self.__var2: 15 print('__var and __var2 is squal') 16 print('self.__var: ', self.__var) 17 return self.__var 18 else: 19 self.add() 20 self.EqualCheck() 21 22hoge = Hoge(3) 23print(hoge.EqualCheck())
出力
__var and __var2 is squal self.__var: 6 None [Finished in 0.1s]
疑問点
EqualCheck()
内で,self.__var
が6とprintされるのになぜ6がreturnされるのではなくNone
が返ってくるのでしょうか?
また,self.__var
を返したい場合はどうするべきでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/23 11:56