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

Patricia Arquette
Lepaskan: 2024-10-26 07:48:02
asal
757 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!