Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Fungsi Python Mengubah Suai Pembolehubah Global?

Bagaimanakah Fungsi Python Mengubah Suai Pembolehubah Global?

Patricia Arquette
Patricia Arquetteasal
2024-12-16 18:05:15487semak imbas

How Do Python Functions Modify Global Variables?

Pembolehubah Global dalam Fungsi Python

Apabila menggunakan pembolehubah global dalam Python, adalah penting untuk memahami cara yang sesuai untuk mengubah suai nilainya. Walaupun pada umumnya disyorkan untuk mengelakkan pembolehubah global kerana potensinya untuk kekeliruan, mari kita periksa senario di mana penggunaannya mungkin diperlukan.

Jika matlamatnya adalah untuk mengakses pembolehubah global, hanya gunakan namanya dalam fungsi tersebut. Walau bagaimanapun, untuk mengubah suai pembolehubah global dan menjadikan perubahan itu kekal, anda mesti menggunakan kata kunci global.

Sebagai contoh:

global someVar
someVar = 55

Baris ini akan menetapkan pembolehubah global someVar kepada 55. Jika kata kunci global diabaikan, Python akan mencipta pembolehubah tempatan bernama someVar dan memberikannya nilai 55, meninggalkan pembolehubah global tidak disentuh.

Berkenaan dengan fungsi yang disebut dalam pertanyaan:

x = "somevalue"

def func_A():
    global x
    # Do things to x
    return x

def func_B():
    x = func_A()
    # Do things
    return x

func_A()
func_B()

Apabila memanggil func_A, ia akan mengubah suai pembolehubah global x. Kemudian, apabila func_B dipanggil, ia akan menetapkan semula pembolehubah tempatan x kepada nilai yang dikembalikan oleh func_A, iaitu pembolehubah global yang diubah suai. Akibatnya, func_B akan beroperasi pada pembolehubah global yang sama yang diubah suai func_A.

Adalah penting untuk ambil perhatian bahawa susunan takrifan fungsi tidak menjejaskan gelagat, tetapi susunan panggilan fungsi mempengaruhinya. Memanggil func_A sebelum func_B memastikan pembolehubah global diubah suai sebelum func_B mengaksesnya.

Atas ialah kandungan terperinci Bagaimanakah Fungsi Python Mengubah Suai 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