Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyalahkan Rentetan Multiline dalam Python Tanpa Kehilangan Kebolehbacaan?

Bagaimana untuk Menyalahkan Rentetan Multiline dalam Python Tanpa Kehilangan Kebolehbacaan?

DDD
DDDasal
2024-10-24 12:16:29971semak imbas

How to Unindent Multiline Strings in Python Without Losing Readability?

Mengalih keluar Rentetan daripada Rentetan Berbilang Baris dalam Python

Rentetan berbilang baris selalunya perlu diinden dalam Python untuk meningkatkan kebolehbacaan dan organisasi. Walau bagaimanapun, apabila dibenamkan dalam fungsi, lekukan ini menjadi berlebihan. Soalan biasa timbul: "Adakah Python mempunyai fungsi terbina dalam untuk mengalih keluar lekukan global ini?"

Penyelesaian:

Walaupun Python tidak mempunyai binaan khusus -dalam fungsi untuk rentetan berbilang baris yang tidak mengentik, fungsi textwrap.dedent() daripada pustaka standard berfungsi untuk tujuan ini dengan berkesan.

Fungsi ini mengambil rentetan berbilang baris sebagai input dan menjalurkan ruang putih daripada semua baris teks yang melebihi garis biasa tahap lekukan. Ia menganggap bahawa baris pertama tidak diinden dan mengalih keluar ruang putih sebelumnya daripada baris yang tinggal.

Contoh:

Mari kita pertimbangkan rentetan berbilang baris berikut dengan 4 ruang global lekukan:

s = """
    Controller = require 'controller'

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

        constructor: ->
            Controller.mix @
"""

Menggunakan textwrap.dedent(), kita boleh mengalih keluar lekukan global:

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

Output:

Controller = require 'controller'

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

    constructor: ->
        Controller.mix @

Seperti yang digambarkan, global lekukan telah dialih keluar dengan berkesan, menjadikan rentetan sesuai untuk digunakan dalam fungsi atau konteks lain di mana lekukan tidak diingini.

Atas ialah kandungan terperinci Bagaimana untuk Menyalahkan Rentetan Multiline dalam Python Tanpa Kehilangan Kebolehbacaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn