ホームページ >バックエンド開発 >Python チュートリアル >Python のリスト変更メソッドが「None」を返すのはなぜですか?

Python のリスト変更メソッドが「None」を返すのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-22 12:23:11265ブラウズ

Why Do Python's List Mutating Methods Return `None`?

Python の変更リスト メソッドが None を返す理由

Python では、追加、並べ替え、拡張、削除、クリアなどのリストを変更する操作、そしてその逆では、驚くべきことに、更新されたリストの代わりに None を返します。この設計上の決定は、好奇心と議論を引き起こしました。

Python の慈悲深い終身独裁者 (BDFL) である Guido van Rossum は、この原則はコーディング スタイルの考慮事項から生じていると説明しています。一部の言語では、x.compress().chop(y).sort(z) のように、単一のオブジェクトに複数の副作用を連鎖させることを好みます。

Van Rossum 氏は、この連鎖がメソッドに慣れていない読者の読みやすさを妨げる可能性があると考えています。関与した。彼は、副作用を分離してオブジェクトに直接適用する、より明示的なスタイルを好みます。

x.compress()
x.chop(y)
x.sort(z)

このアプローチにより、どのオブジェクトが変更されているかが明確になり、理解が促進されます。

Van Rossum 氏は留保しています。次のような、結果が変換された文字列になる文字列処理操作など、新しい値を返す操作の連鎖。

y = x.rstrip("\n").split(":").lower()

この設計上の決定は、これは、副作用呼び出しの連鎖を防止し、インプレース変更と新しいオブジェクトを返す操作との区別を強調するために意図的に実装されています。これは時々不便に見えるかもしれませんが、Python コーディング スタイルの明確さと一貫性を促進します。

以上がPython のリスト変更メソッドが「None」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。