Dalam Python, pembolehubah global harus digunakan dengan berhati-hati untuk mengelakkan kekeliruan. Walau bagaimanapun, apabila tidak dapat dielakkan, adalah penting untuk menentukan sama ada pendekatan berikut sah untuk menggunakannya:
x = "somevalue" def func_A(): global x # Modify x def func_B(): x = func_A() # Use modified x
Adakah func_B mempunyai akses kepada x global yang diubah suai yang sama digunakan dalam func_A? Dan adakah susunan panggilan fungsi penting?
Untuk menukar nilai pembolehubah global dalam fungsi, kata kunci global mesti digunakan:
global some_var some_var = 55
Ini mengubah suai pembolehubah global some_var, manakala memberikan nilai tanpa global akan mewujudkan pembolehubah tempatan dalam fungsi.
Dalam kod yang disediakan, func_B sememangnya boleh mengakses x global yang diubah suai yang sama digunakan dalam func_A. Apabila func_B dipanggil, ia mula-mula mendapatkan semula x yang diubah suai daripada func_A. Oleh itu, func_B menggunakan x global dengan nilai yang dikemas kini.
Mengenai susunan panggilan fungsi, ia penting. Dalam kes ini, func_A mesti dipanggil sebelum func_B kerana func_B bergantung pada x diubah suai yang disediakan oleh func_A. Walau bagaimanapun, secara amnya, susunan takrifan fungsi tidak menjejaskan tingkah laku mereka melainkan mereka merujuk antara satu sama lain.
Atas ialah kandungan terperinci Bolehkah Fungsi Python Mengakses dan Mengubah Suai Pembolehubah Global yang Sama, dan Adakah Pesanan Memanggil Penting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!