Python

Memahami skop pemboleh ubah global dalam python

Memahami skop pemboleh ubah global dalam python
Dua jenis pemboleh ubah dapat ditentukan dalam kebanyakan bahasa pengaturcaraan. Ini adalah pemboleh ubah global dan pemboleh ubah tempatan. Pemboleh ubah yang ditentukan di luar fungsi disebut pemboleh ubah global. Pemboleh ubah ini boleh diakses dan diubah dari mana sahaja dalam skrip. Pemboleh ubah yang dinyatakan di dalam fungsi disebut pemboleh ubah tempatan. Tetapi jika nama pemboleh ubah yang sama ada seperti pemboleh ubah global dan tempatan maka pemboleh ubah di dalam fungsi akan mendapat keutamaan dan nilai pemboleh ubah global akan diabaikan. Skop pemboleh ubah global dalam skrip python ditunjukkan dalam tutorial ini menggunakan pelbagai contoh.

Contoh-1: Penggunaan mudah pemboleh ubah global

Contoh berikut menunjukkan penggunaan mudah pemboleh ubah global di dalam fungsi dan di luar fungsi. Di sini, pemboleh ubah global bernama teks digunakan untuk menetapkan data rentetan. Fungsi khas yang dinamakan printMessage () ditakrifkan untuk mencetak nilai pemboleh ubah global. Nilai bagi teks pemboleh ubah dicetak di dalam fungsi dan di luar fungsi setelah menukar nilai.

#!/ usr / bin / env python3
# Tentukan pemboleh ubah global
text = "Selamat Datang di LinuxHint"
# Tentukan fungsi
def printMessage ():
# Cetak pemboleh ubah global dari fungsi
cetak ("Fungsi pemboleh ubah global: \ n", teks)
# Panggil fungsi
printMessage ()
# Ubah nilai pemboleh ubah global
text = "Belajar Pengaturcaraan Python"
# Cetak nilai semasa pemboleh ubah global
cetak ("Fungsi luar pemboleh ubah global: \ n", teks)

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip. Ia mencetak nilai, 'Selamat Datang di LinuxHint ' yang diberikan kepada pemboleh ubah sebelum memanggil fungsi. Seterusnya, ia mencetak nilai, 'Belajar Pengaturcaraan Python'  setelah menukar nilai pemboleh ubah.

Contoh-2: Penggunaan pemboleh ubah global dan tempatan dengan nama yang sama

Sekiranya anda ingin menyatakan nama pemboleh ubah di dalam fungsi yang sudah dinyatakan sebagai pemboleh ubah global sebelum di python dan ingin menggunakan pemboleh ubah maka ia akan menganggap pemboleh ubah sebagai pemboleh ubah tempatan dan menghasilkan ralat. Skrip berikut akan menunjukkan kesalahan. Di sini, teks pemboleh ubah ditakrifkan sebagai pemboleh ubah global dan tempatan.

#!/ usr / bin / env python3
# Tentukan pemboleh ubah global
text = "Saya suka Python"
# Tentukan fungsi
def printMessage ():
cetak (teks)
teks = "Saya suka PHP"
# Panggil fungsi
printMessage ()

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip.

Untuk mengelakkan situasi di atas dan jika anda ingin menyatakan pemboleh ubah tempatan dengan nama yang sama dengan pemboleh ubah global maka anda harus menetapkan pemboleh ubah tempatan di dalam fungsi terlebih dahulu. Skrip berikut menunjukkan bahawa perubahan dalam pemboleh ubah tempatan tidak membuat perubahan pada pemboleh ubah global. teks pemboleh ubah dicetak di dalam dan di luar fungsi di sini.

#!/ usr / bin / env python3
# Tentukan pemboleh ubah global
text = "Saya suka Python"
# Tentukan fungsi
def printMessage ():
# Degine nilai tempatan
teks = "Saya suka PHP"
# Cetak pemboleh ubah tempatan, teks
cetak ("Nilai 'teks' fungsi dalam: \ n", teks)
# Panggil fungsi
printMessage ()
# Cetak pemboleh ubah global, teks
cetak ("Nilai 'teks' fungsi luar: \ n", teks)

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip.

Contoh-3: Penggunaan pemboleh ubah global di dalam fungsi

Contoh sebelumnya menunjukkan bahawa pemboleh ubah global tidak dapat diakses di dalam fungsi. Anda boleh menggunakan global kata kunci untuk mengakses pemboleh ubah global dari sebarang fungsi. Dalam skrip berikut, cal_percentage () fungsi didefinisikan untuk mengira peratusan sebarang nombor di mana kedua-dua pemboleh ubah global dan tempatan digunakan. Di sini, bilangan adalah pemboleh ubah global, dan perVal adalah pemboleh ubah tempatan. global kata kunci digunakan di sini untuk mengenal pasti pemboleh ubah global di dalam fungsi dan nilai pemboleh ubah global diubah di dalam fungsi.

#!/ usr / bin / env python3
# Ambil nilai integer
num = int (input ("Masukkan nombor:"))
# Tentukan fungsi
def cal_percentage ():
# Kenali pemboleh ubah global menggunakan kata kunci global
bilangan global
# Ambil nilai integer sebagai peratusan
perVal = int (input ("Masukkan nilai peratusan:"))
# Hitung nilai peratusan
hasil = apungan ((bilangan * perVal) / 100)
# Cetak hasil berformat
cetak ("% d peratusan% d =% f"% (perVal, num, hasil))
# Ubah nilai pemboleh ubah global
angka = 500
# Cetak nilai pemboleh ubah global sebelum memanggil fungsi
cetak ("\ n Nilai num =% d"% num)
# Panggil fungsi
cal_percentage ()
# Cetak nilai pemboleh ubah global setelah memanggil fungsi
cetak ("\ n Nilai num =% d"% num)

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip. Di sini, 10% daripada 350 dikira dan dicetak.

Contoh-4: Penggunaan pemboleh ubah global dari skrip lain

Contoh berikut menunjukkan bahawa bagaimana pemboleh ubah global yang dinyatakan dalam satu skrip dapat digunakan dalam skrip yang lain. Katakan, nama failnya adalah global6.py yang akan menggunakan pemboleh ubah global yang ditentukan dalam fail bernama global5.py. Tiga pemboleh ubah global dinyatakan dalam global5.py. Anda mesti mengimport global5 untuk menggunakan pemboleh ubah dalam skrip lain. Skrip dari global6.py akan mengira gaji tiga jenis pekerja berdasarkan nilai input dan pemboleh ubah global.

#!/ usr / bin / env python3
# ini global5.fail py
# Struktur gaji asas syarikat
Asas = 5000
Perubatan = 500
Pengangkutan = 500 #!/ usr / bin / env python3
# ini global6.fail py
# Import pemboleh ubah global dari global5.py
import global5
# Ambil nama pekerja
name = input ("Masukkan nama pegawai:")
# Ambil nama jawatan
post = input ("Masukkan jawatan:")
# Mulakan pemboleh ubah ralat
ralat = Salah
# Periksa pos dan tetapkan gaji pokok berdasarkan pos
sekiranya (jawatan.atas () == "CEO"):
asas = global5.Asas + (global5.Asas * 0.4)
elif (jawatan.atas () == "PENGURUS"):
asas = global5.Asas + (global5.Asas * 0.25)
elif (jawatan.atas () == "AKAUNTAN"):
asas = global5.Asas + (global5.Asas * 0.15)
lain:
# Tetapkan ralat menjadi benar jika nilai catatan tidak dijumpai
kesalahan = Betul
# Cetak gaji jika kesalahan adalah flase
jika (ralat == Salah):
gaji = asas + global5.Perubatan + global5.Pengangkutan
cetak ("Gaji% s adalah% d"% (nama, gaji))
lain:
cetak ("Pos tidak dijumpai")

Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip. Di sini, skrip dijalankan dua kali dengan catatan yang sah dan catatan yang tidak sah.

Kesimpulan:

Konsep pemboleh ubah global dalam python dijelaskan dalam tutorial ini dengan pelbagai contoh mudah untuk pengguna python baru. Saya harap pembaca akan mendapat pengetahuan yang betul mengenai pemboleh ubah global dan juga pemboleh ubah tempatan setelah membaca tutorial ini.

Tonton Video Pengarang: di sini

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...