Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah skop pembolehubah ditakrifkan dalam Python?

Bagaimanakah skop pembolehubah ditakrifkan dalam Python?

PHPz
PHPzasal
2023-10-26 10:07:471364semak imbas

Bagaimanakah skop pembolehubah ditakrifkan dalam Python?

Bagaimanakah skop pembolehubah ditakrifkan dalam Python?

Dalam Python, skop pembolehubah merujuk kepada skop pembolehubah itu berkuat kuasa, iaitu skop pembolehubah boleh diakses dan dimanipulasi. Skop pembolehubah dalam Python dibahagikan kepada dua jenis: skop global dan skop tempatan.

Skop global merujuk kepada pembolehubah yang boleh diakses dan dimanipulasi sepanjang program. Dalam Python, pembolehubah skop global biasanya ditakrifkan pada tahap paling luar program, dan ia boleh diakses dan dirujuk di dalam fungsi atau blok kod lain. Pembolehubah skop global boleh digunakan di mana-mana dalam keseluruhan program.

Berikut ialah contoh skop global:

x = 10

def func():
    print(x)

func()  # 输出:10

Dalam kod di atas, pembolehubah x diakses di dalam fungsi func, sementara ia ditakrifkan di luar fungsi , jadi ia tergolong dalam skop global. Oleh itu, fungsi func boleh mengakses pembolehubah x dan mengeluarkan nilainya. x在函数func内部被访问,而它是在函数外部定义的,所以它属于全局作用域。因此,函数func中可以访问到变量x并输出其值。

局部作用域指的是在函数内部定义的变量,只能在函数内部被访问和操作。它的作用范围仅限于定义它的那个函数。一旦函数执行完成,局部作用域的变量就会被销毁。

下面是一个局部作用域的例子:

def func():
    y = 20
    print(y)

func()  # 输出:20
print(y)  # 报错:NameError: name 'y' is not defined

在上面的代码中,变量y被定义在函数func内部,它属于局部作用域。因此,在函数内部可以访问到变量y并输出其值。但是,当我们在函数外部尝试访问变量y时,会报错。

在Python中,当一个变量在函数内部被赋值时,默认情况下,Python会将该变量视为局部变量。但是,如果我们希望在函数内部引用到全局作用域中的变量,我们可以使用global关键字来声明变量。

下面是一个使用global关键字的例子:

x = 10

def func():
    global x  # 声明变量x为全局变量
    x = 20
    print(x)

func()  # 输出:20
print(x)  # 输出:20

在上面的代码中,我们在函数func内部使用global关键字将变量x声明为全局变量。这样,在函数内部修改了变量x的值之后,变量x在全局作用域中的值也会随之改变。

总结起来,Python中的变量作用域分为全局作用域和局部作用域。全局作用域的变量可以在整个程序的任何地方被访问和操作,而局部作用域的变量仅限于函数内部使用。如果需要在函数内部引用全局作用域中的变量,可以使用global

Skop setempat merujuk kepada pembolehubah yang ditakrifkan dalam fungsi dan hanya boleh diakses dan dikendalikan di dalam fungsi. Skopnya terhad kepada fungsi di mana ia ditakrifkan. Setelah pelaksanaan fungsi selesai, pembolehubah skop tempatan akan dimusnahkan. 🎜🎜Berikut ialah contoh skop tempatan: 🎜rrreee🎜Dalam kod di atas, pembolehubah y ditakrifkan di dalam fungsi func, yang tergolong dalam skop tempatan. Oleh itu, pembolehubah y boleh diakses di dalam fungsi dan nilainya boleh dikeluarkan. Walau bagaimanapun, apabila kami cuba mengakses pembolehubah y di luar fungsi, ralat akan dilaporkan. 🎜🎜Dalam Python, apabila pembolehubah diberikan nilai di dalam fungsi, Python menganggap pembolehubah itu sebagai pembolehubah setempat secara lalai. Walau bagaimanapun, jika kita ingin merujuk kepada pembolehubah dalam skop global dalam fungsi, kita boleh menggunakan kata kunci global untuk mengisytiharkan pembolehubah tersebut. 🎜🎜Berikut ialah contoh penggunaan kata kunci global: 🎜rrreee🎜Dalam kod di atas, kami menggunakan kekunci global di dalam fungsi func Pembolehubah x diisytiharkan sebagai pembolehubah global. Dengan cara ini, selepas nilai pembolehubah x diubah suai di dalam fungsi, nilai pembolehubah x dalam skop global juga akan berubah dengan sewajarnya. 🎜🎜Untuk meringkaskan, skop pembolehubah dalam Python dibahagikan kepada skop global dan skop tempatan. Pembolehubah skop global boleh diakses dan dimanipulasi di mana-mana dalam keseluruhan program, manakala pembolehubah skop tempatan dihadkan untuk digunakan dalam fungsi. Jika anda perlu merujuk kepada pembolehubah dalam skop global dalam fungsi, anda boleh menggunakan kata kunci global untuk mengisytiharkannya. Memahami skop pembolehubah adalah penting untuk menulis kod Python yang tersusun dengan jelas dan boleh diselenggara. 🎜

Atas ialah kandungan terperinci Bagaimanakah skop pembolehubah ditakrifkan dalam Python?. 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