Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Meniru Fungsi padat() dan ekstrak() PHP dalam Python?

Bagaimana untuk Meniru Fungsi padat() dan ekstrak() PHP dalam Python?

Susan Sarandon
Lepaskan: 2024-10-25 19:44:02
asal
484 orang telah melayarinya

 How to Replicate PHP's compact() and extract() Functionality in Python?

Rakan Sejawat PHP() dan Extract() dalam Python

Fungsi compact() PHP memasang jadual hash dengan nilai yang sepadan dengan jadual simbol yang ditentukan names, dan extract() membalikkan proses ini. Walaupun Python menyediakan locals(), globals(), dan vars(), ia tidak mempunyai mekanisme terbina dalam untuk mengasingkan sebahagian daripada nilai ini.

Melaksanakan Compact()

Jika mahu, anda boleh melaksanakan Python yang setara dengan compact() seperti berikut:

<code class="python">import inspect

def compact(*names):
    caller = inspect.stack()[1][0] # caller of compact()
    vars = {}
    for n in names:
        if n in caller.f_locals:
            vars[n] = caller.f_locals[n]
        elif n in caller.f_globals:
            vars[n] = caller.f_globals[n]
    return vars</code>
Salin selepas log masuk

Extract() dalam Python

Mencuba untuk mencipta ekstrak () fungsi dalam Python tidak digalakkan. Jurubahasa Python terdahulu membenarkan penyelesaian, tetapi dalam versi moden, ia tidak lagi berfungsi.

Perspektif Python

Menggunakan compact() dan extract() secara amnya tidak digalakkan dalam Python, kerana ia bertentangan dengan prinsip Pythonic kejelasan, kesederhanaan dan kejelasan. Walau bagaimanapun, fungsi ini mungkin mempunyai aplikasi khusus dalam penyahpepijatan, analisis bedah siasat atau penciptaan pembolehubah dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Meniru Fungsi padat() dan ekstrak() PHP dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan