Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencapai Fungsi `compact()` dan `extract()` PHP dalam Python?

Bagaimana untuk Mencapai Fungsi `compact()` dan `extract()` PHP dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 07:48:02758semak imbas

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

Alternatif Python kepada compact() dan extract() PHP

Fungsi compact() dan extract() PHP menawarkan cara yang mudah untuk memanipulasi nilai pembolehubah. Walau bagaimanapun, fungsi ini tidak boleh diterjemahkan secara langsung kepada Python.

Melaksanakan compact()

Walaupun tiada padanan langsung compact(), anda boleh mensimulasikan kelakuannya menggunakan Ciri introspeksi Python:

<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>

Mengekstrak Pembolehubah dengan vars()

Untuk mengekstrak nilai kamus ke dalam skop semasa, anda boleh menggunakan vars() fungsi:

<code class="python">my_dict = {"foo": "what", "bar": "ever"}
vars().update(my_dict)</code>

Alternatif Python

Walaupun padat() dan ekstrak() boleh berguna dalam situasi tertentu, secara amnya dianggap amalan yang lebih baik untuk menggunakan kaedah yang lebih jelas dalam Python. Sebagai contoh, daripada menggunakan compact(), anda hanya boleh mencipta kamus secara manual:

<code class="python">my_dict = {
    "foo": "what",
    "bar": "ever",
}</code>

Bagi mengekstrak pembolehubah, anda boleh menetapkan nilai secara manual kepada pembolehubah yang dikehendaki:

<code class="python">foo = my_dict["foo"]
bar = my_dict["bar"]</code>

Kesimpulan

Walaupun Python tidak mempunyai persamaan langsung dengan fungsi compact() dan extract() PHP, terdapat cara untuk mencapai kefungsian serupa menggunakan kaedah introspeksi dan lebih jelas. Adalah penting untuk ambil perhatian bahawa penggunaan fungsi ini secara amnya dianggap bukan Pythonik dan hanya boleh digunakan dalam situasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Fungsi `compact()` dan `extract()` PHP dalam Python?. 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