20

この例の関数を考えると:

def writeFile(listLine,fileName):
    '''put a list of str-line into a file named fileName'''
    with open(fileName,'a',encoding = 'utf-8') as f:
        for line in listLine:
            f.writelines(line+'\r\n')
    return True

このreturn Trueステートメントは何か役に立ちますか?

ある場合とない場合の違いは何ですか?return 関数がなかったらどうなりますか?

4

4 に答える 4

32

関数が戻り値を指定しない場合、関数は を返しますNone

if/then 条件ステートメントでNoneは、False と評価されます。したがって、理論的には、この関数の戻り値で成功/失敗を確認できます。この質問のコードでは、関数は例外をキャッチまたは処理せず、追加の強化が必要になる可能性があるため、「理論的に」と言います。

于 2013-03-12T06:57:54.400 に答える
3

Noneexplicit が記述されていない場合、関数は常に戻りますreturn

于 2013-03-12T07:00:20.173 に答える
2

関数の最後にがあればreturn True、次のように言うことができます。a=writeFile(blah, blah)

ただし、常にそうなるのでTrue、まったく無意味です。ファイルが正しく書き込まれている場合などは、Trueを返す方がよいでしょう。

明示的に何も返さない場合、値は次のようになりますNone

于 2013-03-12T07:04:57.380 に答える
-1

機能の帰属やチェックなしに return ステートメントを単独で持つことはあまり意味がありません。

何も返されない場合、Python は None を返します。あなたの場合、ファイルを開いて書き込みが成功した場合、おそらく true を返す必要があります

于 2013-03-12T07:11:07.140 に答える