Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah Perbezaan Utama Antara globals(), locals(), dan vars() dalam Python?

Apakah Perbezaan Utama Antara globals(), locals(), dan vars() dalam Python?

Barbara Streisand
Lepaskan: 2024-11-26 01:08:10
asal
206 orang telah melayarinya

What are the Key Differences Between globals(), locals(), and vars() in Python?

Membedah Perbezaan antara global(), locals(), dan vars()

Di dalam bidang manipulasi ruang nama Python, wujud tiga fungsi penting: globals(), locals(), dan vars(). Setiap fungsi ini mengembalikan kamus, tetapi perbezaan asasnya memerlukan pemeriksaan yang lebih teliti.

globals()

Secara konsisten, globals() mengembalikan kamus yang mewakili ruang nama bagi modul semasa. Kamus ini menyimpan semua pembolehubah global, fungsi dan kelas yang ditakrifkan dalam modul tersebut.

locals()

Tidak seperti globals(), locals() mempamerkan gelagat dinamik . Apabila dipanggil dalam fungsi, ia mengembalikan kamus yang mengandungi pembolehubah tempatan semasa, termasuk pembolehubah penutupan. Walau bagaimanapun, kamus ini adalah petikan sementara. Hanya panggilan kepada locals() atau akses kepada atribut f_locals bagi bingkai tindanan semasa mencetuskan kemas kini kandungannya. Tugasan kepada kamus locals() atau pembolehubah sepadannya tidak dikemas kini silang.

vars()

Vars() juga mengembalikan kamus, tetapi kepelbagaiannya melangkaui ruang nama modul dan fungsi. Apabila dipanggil tanpa argumen, vars() bertindak serupa dengan locals(), mengembalikan kamus untuk ruang nama semasa. Walau bagaimanapun, apabila objek diluluskan sebagai hujah, vars() menyelidiki dikt objek itu untuk mendapatkan semula atributnya.

Kemas kini dan Kesan

Baik locals() mahupun vars() secara automatik tidak memastikan kamus mereka dikemas kini dengan perubahan dalam ruang nama. Tugasan kepada pembolehubah tidak mengemas kini kamus, dan sebaliknya, perubahan pada kamus tidak disebarkan kepada pembolehubah. Walau bagaimanapun, jika f_locals diakses (dalam kes locals()) atau dikt objek diakses (dalam kes vars()), kamus mungkin dikemas kini.

Dalam summary, globals(), locals(), dan vars() menyediakan trio alatan untuk memanipulasi ruang nama dalam Python. Memahami perbezaan mereka membolehkan pembangun menavigasi persekitaran masa jalan Python dengan ketepatan dan kawalan.

Atas ialah kandungan terperinci Apakah Perbezaan Utama Antara globals(), locals(), dan vars() 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