Rumah >pembangunan bahagian belakang >Tutorial Python >Bila Untuk Menggunakan Kata Kunci Global untuk Pembolehubah Global?

Bila Untuk Menggunakan Kata Kunci Global untuk Pembolehubah Global?

Barbara Streisand
Barbara Streisandasal
2024-10-19 12:23:02559semak imbas

When to Use the Global Keyword for Global Variables?

Skop Fungsi dan Pembolehubah Global

Apabila menggunakan fungsi dalam pengaturcaraan, adalah penting untuk memahami konsep skop. Fungsi mencipta ruang nama peribadi mereka sendiri, berasingan daripada skop global. Ini bermakna pembolehubah yang diisytiharkan dalam fungsi hanya boleh diakses dalam fungsi itu.

Masalah: Fungsi Tidak Mengubah Ubah Pembolehubah Global

Pertimbangkan kod berikut:

done = False

def function():
    for loop:
        code
        if not comply:
            done = True

while done == False:
    function()

Niat kod ini adalah untuk keluar dari gelung while apabila selesai ditetapkan kepada True dalam fungsi(). Walau bagaimanapun, kod itu tidak keluar dari gelung selepas set function() dilakukan kepada True.

Mengapa Masalah Berlaku

Masalah timbul kerana pembolehubah yang dilakukan dalam function() ialah setempat pembolehubah, dicipta dalam ruang nama fungsi. Ia berasingan daripada pembolehubah global yang dilakukan yang ditakrifkan di luar fungsi. Apabila fungsi() memberikan nilai baharu untuk dilakukan, ia sebenarnya mengubah suai pembolehubah tempatan, bukan yang global.

Penyelesaian: Menggunakan global

Untuk menyelesaikan isu ini, anda perlu menggunakan kata kunci global untuk merujuk pembolehubah global secara eksplisit dalam fungsi. Berikut ialah kod yang diperbetulkan:

def function():
    global done
    for loop:
        code
        if not comply:
            done = True

Dengan menggunakan global, anda memastikan pembolehubah yang dilakukan di dalam fungsi merujuk kepada pembolehubah yang sama yang ditakrifkan dalam skop global. Ini membolehkan anda mengubah suai pembolehubah global dari dalam fungsi.

Atas ialah kandungan terperinci Bila Untuk Menggunakan Kata Kunci Global untuk Pembolehubah Global?. 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