基本的に次のような Python コードがあります。
my_start_list = ...
def process ( my_list ):
#do some stuff
if len(my_list) > 1:
process(my_list)
else:
print(my_list)
return my_list
print(process(my_start_list))
奇妙なことprint(my_list)
に、正しい内容が出力されます。ただし、関数の戻り値を出力する 2 番目の print ステートメントは、常に を出力しNone
ます。通常のreturn
ステートメントをreturn("abc")
それに置き換えても、まだNone
です。
returnステートメントの1行前までは変数の内容が正しいように見えるので、どこからデバッグを開始すればよいかわかりません。これを引き起こす可能性のある一般的な問題はありますか?