Python coba kecuali variabel tidak ditentukan

Secara umum, variabel yang didefinisikan dalam sebuah blok hanya tersedia di blok itu. Itu tidak dapat diakses di luar blok. Variabel seperti itu disebut variabel lokal. Pengidentifikasi argumen formal juga berperilaku sebagai variabel lokal

Contoh berikut akan menggarisbawahi poin ini. Upaya untuk mencetak variabel lokal di luar cakupannya akan memunculkan pengecualian

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
0

Contoh. Variabel Lokal

Salinan

def greet():
    name = 'Steve'
    print('Hello ', name)
_

Di sini,

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
1 adalah variabel lokal untuk fungsi
>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
2 dan tidak dapat diakses di luarnya

Contoh. Variabel Lokal

Salinan

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined

Variabel apa pun yang ada di luar blok fungsi apa pun disebut variabel global. Nilainya dapat diakses dari dalam fungsi apa pun. Dalam contoh berikut, variabel

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
_1 diinisialisasi sebelum definisi fungsi. Oleh karena itu, ini adalah variabel global

Contoh. Variabel Global

Salinan

name='John'
def greet():
    print ("Hello ", name)
_

Sekarang, Anda dapat mengakses variabel global

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
1 karena telah didefinisikan dari suatu fungsi

>>> greet()                            
Hello Steve
>>> name
'Steve'
_

Namun, jika kita menetapkan nilai lain ke variabel yang dideklarasikan secara global di dalam fungsi, variabel lokal baru akan dibuat di ruang nama fungsi. Penugasan ini tidak akan mengubah nilai variabel global. Sebagai contoh

Contoh. Variabel Lokal dan Global

Salinan

name = 'Steve'
def greet():
    name = 'Bill'
    print('Hello ', name)
_

Sekarang, mengubah nilai variabel global

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
1 di dalam suatu fungsi tidak akan memengaruhi nilai globalnya

>>> greet()
Hello Bill
>>> name
'Steve'

Jika Anda perlu mengakses dan mengubah nilai variabel global dari dalam suatu fungsi, izin ini diberikan oleh kata kunci

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
6

Contoh. Akses Variabel Global

Salinan

name = 'Steve'
def greet():
    global name
    name = 'Bill'
    print('Hello ', name)

Di atas akan menampilkan output berikut di shell Python

>>> name                               
'Steve'
>>> greet()                            
Hello Bill
>>> name                               
'Bill'

Dimungkinkan juga untuk menggunakan variabel global dan lokal dengan nama yang sama secara bersamaan. Fungsi bawaan

>>> greet()                            
Hello Steve
>>> name
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module> name
NameError: name 'name' is not defined
7 mengembalikan objek kamus dari semua variabel global dan nilainya masing-masing. Menggunakan nama variabel sebagai kunci, nilainya dapat diakses dan dimodifikasi

Contoh. Variabel Global

Salinan

name = 'Steve'
def greet():
    globals()['name'] = 'James'
    name='Steve'
    print ('Hello ', name)

Hasil dari kode di atas menunjukkan adanya konflik antara variabel global dan lokal dengan nama yang sama dan bagaimana penyelesaiannya

Bagaimana Anda memperbaiki variabel yang tidak terdefinisi dengan Python?

Ada beberapa cara untuk memperbaiki variabel yang tidak terdefinisi. (1) Anda dapat mengganti nama variabel atau kumpulan variabel agar cocok dengan apa yang telah Anda gunakan dalam topik ; .

Bagaimana Anda memeriksa apakah suatu variabel tidak didefinisikan dengan Python?

Python tidak memiliki fungsi khusus untuk menguji apakah suatu variabel didefinisikan , karena semua variabel diharapkan telah ditentukan sebelum digunakan, bahkan jika awalnya ditetapkan ke objek Tidak ada.

Bagaimana Anda memeriksa apakah suatu variabel diinisialisasi dengan Python?

Perlu dicatat bahwa variabel python tidak dapat diinisialisasi. Variabel dalam python dibuat dengan penugasan. Jika Anda ingin memeriksa uninitialisation aktual, Anda harus memeriksa keberadaan (non), dengan menangkap pengecualian NameError . Simpan jawaban ini.

Apa yang didefinisikan variabel dalam Python?

Variabel Python adalah nama simbolis yang merupakan referensi atau penunjuk ke suatu objek . Setelah objek ditugaskan ke variabel, Anda bisa merujuk ke objek dengan nama itu. Namun data itu sendiri masih terkandung di dalam objek. Sebagai contoh. >>> >>> n = 300.