首頁  >  文章  >  後端開發  >  如何在 Python 中取消多行字串的縮排而不失去可讀性?

如何在 Python 中取消多行字串的縮排而不失去可讀性?

DDD
DDD原創
2024-10-24 12:16:29971瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn