ホームページ  >  記事  >  バックエンド開発  >  読みやすさを失わずにPythonで複数行の文字列のインデントを解除する方法?

読みやすさを失わずにPythonで複数行の文字列のインデントを解除する方法?

DDD
DDDオリジナル
2024-10-24 12:16:29964ブラウズ

How to Unindent Multiline Strings in Python Without Losing Readability?

Python で複数行の文字列からインデントを削除する

読みやすさと構成を改善するために、Python では複数行の文字列をインデントする必要があることがよくあります。ただし、関数内に埋め込むと、このインデントが過剰になります。よくある質問: 「Python には、このグローバル インデントを削除するための組み込み関数がありますか?」

解決策:

一方、Python には専用の組み込み関数がありません。複数行の文字列のインデントを解除する -in 関数。標準ライブラリの textwrap.dedent() 関数がこの目的を効果的に果たします。

この関数は複数行の文字列を入力として受け取り、共通の文字列を超えるすべてのテキスト行から空白を削除します。インデントレベル。最初の行はインデントされていないと想定し、残りの行から先行する空白を削除します。

例:

グローバル 4 スペースを含む次の複数行文字列を考えてみましょう。インデント:

s = """
    Controller = require 'controller'

    class foo
        view: 'baz'
        class: 'bar'

        constructor: ->
            Controller.mix @
"""

textwrap.dedent() を使用すると、グローバル インデントを削除できます:

import textwrap
unindented_s = textwrap.dedent(s)
print(unindented_s)

出力:

Controller = require 'controller'

class foo
    view: 'baz'
    class: 'bar'

    constructor: ->
        Controller.mix @

図に示すように、グローバルインデントが効果的に削除され、文字列はインデントが望ましくない関数やその他のコンテキスト内での使用に適しています。

以上が読みやすさを失わずにPythonで複数行の文字列のインデントを解除する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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