Pythonの関数を勉強しているときに以下のことについて疑問に思いました:
def sum(x, y=None, z=None): if (y==None, z==None): return x if (z==None): return x+y else: return x+y+z print(sum(1)) print(sum(1, 2)) print(sum(1, 2, 3))
上記の関数だとreturnは1,1,1ですが、以下のように直すと、1,3,6になりました。
def sum(x, y=None, z=None): if (y==None): return x if (z==None): return x+y else: return x+y+z print(sum(1)) print(sum(1, 2)) print(sum(1, 2, 3))
なぜこの様な違いがでたのでしょうか?(欲しいreturnは1,3,6の方です)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/02 01:48