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!