Bila Untuk Menggunakan Kata Kunci Global untuk Pembolehubah Global?

Barbara Streisand
Lepaskan: 2024-10-19 12:23:02
asal
386 orang telah melayarinya

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

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

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!

sumber:php
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!