Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Python Mengeluarkan Lekukan Global daripada Rentetan Berbilang Baris?

Bolehkah Python Mengeluarkan Lekukan Global daripada Rentetan Berbilang Baris?

DDD
DDDasal
2024-10-24 12:15:29936semak imbas

Can Python Remove Global Indentation from Multiline Strings?

Mengalih keluar Lekukan Global daripada Rentetan Berbilang Baris dalam Python

Dalam Python, anda mungkin menghadapi rentetan berbilang baris dengan lekukan kiri global yang perlu dialih keluar. Ini boleh berlaku apabila rentetan diisytiharkan dalam fungsi atau blok kod lain yang memperkenalkan lekukan tambahan.

Soalan:

Adakah Python menyediakan fungsi terbina dalam yang boleh mengalih keluar lekukan global rentetan berbilang baris?

Jawapan:

Walaupun tiada fungsi terbina dalam untuk tugas khusus ini, perpustakaan standard Python menawarkan penyelesaian melalui pembalut teks Fungsi .dedent().

textwrap.dedent() mengambil rentetan berbilang baris sebagai input dan mengalih keluar lekukan biasa semua barisnya. Ini membolehkan anda mengalih keluar sebarang lekukan global yang tidak diingini.

Contoh:

Pertimbangkan rentetan berikut dengan lekukan 4 ruang global:

<code class="python">s = """
    Controller = require 'controller'

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

        constructor: ->
            Controller.mix @
"""</code>

Menggunakan textwrap.dedent(), anda boleh mengalih keluar lekukan global seperti berikut:

<code class="python">import textwrap

result = textwrap.dedent(s)</code>

Ini akan menghasilkan output berikut dengan lekukan dialih keluar:

Controller = require 'controller'

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

    constructor: ->
        Controller.mix @

Atas ialah kandungan terperinci Bolehkah Python Mengeluarkan Lekukan Global daripada Rentetan Berbilang Baris?. 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