7

Pythonのwithキーワードはラムダ関数でどのように表現されていますか? 次の点を考慮してください。

def cat (filename):
    with open(filename, 'r') as f:
        return f.read()

ラムダ実装で失敗した試み:

cat = lambda filename: with open(filename, 'r') as f: return f.read()
4

2 に答える 2

9

lambda_form ::= "lambda" [parameter_list]: expression

withステートメントであり、lambda式のみを返すことはできません。

于 2013-04-26T03:25:56.377 に答える
1

誰かがトリックを探している場合に備えて:

lambda filename: [(f.read(), f.close()) for f in [open(filename)]][0][0]

于 2018-04-24T21:39:28.073 に答える