Cara Menentukan Pembolehubah Global di Python

Cara Menentukan Pembolehubah Global di Python

Di Python, pemboleh ubah global adalah pemboleh ubah yang ditakrifkan di luar fungsi atau kelas dan boleh diakses dari mana saja di dalam kod. Pembolehubah global berguna untuk menyimpan nilai yang perlu dikongsi di pelbagai bahagian program, seperti pilihan konfigurasi atau bendera.

Berikut adalah beberapa perkara penting mengenai penglihatan berubah -ubah global di Python:

  • Pembolehubah global ditakrifkan di luar fungsi atau kelas dan boleh diakses dari mana sahaja dalam kod anda.
  • Anda boleh mengakses pembolehubah global menggunakan 'Global' kata kunci, tetapi biasanya dianggap amalan yang baik untuk mengelakkan menggunakan pembolehubah global sebanyak mungkin.
  • Pembolehubah global boleh diubah suai dalam fungsi atau kelas, tetapi anda mesti menggunakan 'Global' Kata kunci untuk menunjukkan bahawa anda mengubahsuai pemboleh ubah global, dan bukannya membuat pemboleh ubah tempatan baru dengan nama yang sama.
  • Sekiranya pemboleh ubah global dan pemboleh ubah tempatan mempunyai nama yang sama, pembolehubah tempatan diutamakan dan pemboleh ubah global tidak dapat diakses dalam fungsi atau kelas.
  • Anda boleh menggunakan 'globals ()' berfungsi untuk mendapatkan kamus semua pembolehubah global dan nilai mereka, dan 'Penduduk tempatan ()' berfungsi untuk mendapatkan kamus semua pembolehubah tempatan dan nilai mereka.
  • Penting untuk memahami skop pembolehubah dalam kod anda, kerana pembolehubah dengan nama yang sama dalam skop yang berbeza mungkin mempunyai nilai yang berbeza.
  • Untuk mengelakkan kekeliruan dan menjadikan kod anda lebih mudah difahami, secara amnya disyorkan untuk menggunakan nama pemboleh ubah yang deskriptif, unik dan untuk mengelakkan menggunakan pembolehubah global apabila mungkin.

Pembolehubah Global Python

Untuk menentukan pemboleh ubah global di Python, berikan nilai kepada pembolehubah di luar fungsi atau definisi kelas. Sebagai contoh:

x = 10 y = "Hello, dunia!"Z = [1, 2, 3]
123x = 10y = "hello, dunia!"Z = [1, 2, 3]

Anda kemudiannya boleh mengakses pembolehubah ini dari mana saja dalam kod anda hanya dengan merujuk kepada nama mereka. Sebagai contoh:

def some_function (): cetak (x) cetak (y) cetak (z) somety_function ()
123456def some_function (): cetak (x) cetak (y) cetak (z) somety_function ()

Ini akan mengeluarkan nilai pembolehubah global x, y, dan z dalam fungsi 'some_function'.

Penting untuk diperhatikan bahawa pembolehubah global dapat diubah suai dalam fungsi atau kelas, sama seperti pemboleh ubah lain. Walau bagaimanapun, ini boleh membawa kepada kesan sampingan yang tidak diingini, kerana perubahan akan dapat dilihat di bahagian lain program. Untuk mengelakkan ini, secara amnya adalah idea yang baik untuk mengelakkan mengubahsuai pembolehubah global secara langsung, dan sebaliknya menggunakannya sebagai pemalar baca sahaja.

Python Global Variable Visibility dalam Fungsi

Anda juga boleh menentukan pembolehubah global dalam fungsi atau kelas, tetapi anda mesti menggunakan kata kunci global untuk menunjukkan bahawa anda merujuk kepada versi global pembolehubah. Sebagai contoh:

x = 10 def some_function (): global x x = 20 cetak (x) # output: 10 some_function () cetak (x) # output: 20
123456789x = 10 def some_function (): global x x = 20 cetak (x) # output: 10some_function () cetak (x) # output: 20

Dalam contoh ini, pemboleh ubah global 'X' ditakrifkan di luar fungsi dan pada mulanya ditetapkan ke '10'. Dalam fungsi 'some_function', The 'Global' Kata kunci digunakan untuk menunjukkan bahawa 'X' Variabel yang diubah suai adalah versi global pembolehubah, bukan versi tempatan. Akibatnya, nilai 'X' diubah suai ke '20', dan perubahan ini dapat dilihat di luar fungsi.

Kesimpulan

Ia secara amnya dianggap sebagai amalan yang baik untuk mengelakkan menggunakan pembolehubah global di mana mungkin, kerana mereka dapat menjadikan kod anda lebih sukar untuk difahami dan diselenggara. Sebaliknya, ia sering merupakan idea yang lebih baik untuk lulus nilai sebagai argumen ke fungsi atau menyimpannya dalam objek atau struktur data yang boleh diluluskan seperti yang diperlukan. Ini dapat membantu mengurangkan kerumitan kod anda dan memudahkan alasan.

saya harap ini dapat membantu! Beritahu saya jika anda mempunyai sebarang pertanyaan atau memerlukan penjelasan lanjut.